By: Tom Sydney Kerckhove <syd@cs-syd.eu>
centjes-stripe: configure the rate Stripe charges VAT on its fees at A fee of 16 rappen carries 1 rappen of tax, which is what 8.1% rounds to and also what 3.8% rounds to, so the rate cannot be read off the amounts. Stripe's tax on its own fees is a property of where the account is registered rather than of the month, so it is configured instead, defaulting to the Swiss standard rate. The amounts still get to object: whenever a month's fee is big enough to name a rate, that rate has to be the configured one, so a wrong setting fails in the first month that can tell rather than quietly claiming the wrong input tax. Keep the Swiss rates in one place while here. centjes-switzerland wrote the rate table twice, in requireRatioVATRate and in vatRateRatio, and centjes-stripe wrote it a third time. A rate an importer writes that the VAT report cannot name is a ledger that cannot be filed, so these have to be the same set rather than three lists that agree today. The report type ids were likewise written twice within centjes-stripe; the column readers now take the ReportKind they read. Also refuse to write an output file the ledger does not import. Everything this importer promises rests on reading back what it wrote, and without the import it would replace by-hand edits and already-filed months with a fresh draft.
| Time to Start | Worker time | Duration | Time to finish | Idle | |
| Config | 27s | 0s | 0s | 28s | 27s |
| Eval | 28s | 17s | 17s | 45s | 0s |
| Build | 43s | 4m44s | 2m56s | 3m40s | 18s |
| Suite | 27s | 5m02s | 3m13s | 3m40s | 45s |