Skip to content

v1.2.0 — Contractor tax allowance

Choose a tag to compare

@Faultless Faultless released this 31 Aug 11:42
· 4 commits to main since this release

Billing your tax uplift as "21% VAT" misstates it twice over: it presents a contractual allowance to the client as a government levy, and it books the money as tax rather than revenue, so it drops out of the income reports and out of the JP set-aside built on them. The allowance is now its own concept.

The allowance

  • On by default, at 25%. New invoices take their rate and mode from Settings → Contractor tax allowance. This is now the standard way tax is added here; the per-invoice card can turn it off or change the rate for any single invoice.

  • Two modes, because the difference bites. On a €2,520 net at 21%:

    Allowance Invoice total Reserve 21% of total You keep
    Surcharge (rate × net) €529.20 €3,049.20 €640.33 €2,408.87
    Gross-up (net ÷ (1−rate)) €669.87 €3,189.87 €669.87 €2,520.00

    A surcharge leaves you short, because the allowance is itself revenue and gets taxed too — the uplift covers only 17.4% of an invoice the tax takes 21% of. Gross-up solves for that. The editor states the consequence of whichever mode you've picked inline, rather than leaving it to be discovered at 確定申告.

  • It counts as revenue. Revenue now reads net + allowance, so the uplift reaches the dashboard, the annual income report, and the tax provision. VAT still doesn't — that was never yours.

  • The invoice says what it is. The PDF carries a note that the allowance is a contractual uplift toward the contractor's own tax liability, not a government tax, so no client mistakes it for VAT they might try to reclaim.

Your existing data

Nothing is repriced. The new columns default to off with a zero amount, so every invoice already saved keeps the exact totals it was issued with. The allowance is available on any invoice you open and re-save. Settings defaults never reach back into a saved invoice — each one keeps the rate and mode it was written with.

Schema v10, added in place on first open. Covered by test/migration_test.dart, which winds a ledger back through v7, v8 and v9 and reopens it through the real migration path.

If you have an invoice that used the 21% VAT line as a stand-in for this — change its lines back to reverse-charge before switching the allowance on, or you'll be charging both.

Downloads

File For
SoleLedger-1.2.0-arm64-v8a.apk Android phones and tablets (almost certainly this one)
SoleLedger-1.2.0-armeabi-v7a.apk Older 32-bit Android devices
SoleLedger-1.2.0-x86_64.apk Android emulators / x86 devices
SoleLedger-1.2.0-macos.zip macOS (Apple silicon + Intel)

APKs are split per ABI. Debug-signed personal builds — Android will ask you to allow installation from unknown sources. The macOS .app isn't notarised: right-click → Open the first time.

Not tax advice. Whether an uplift like this is appropriate, and at what rate, is a question for your accountant / 税理士.