All rules

A tax that is not its rate of the subtotal

tax-mismatchon by defaultJapanese / English

A tax line, or a price list's price with tax, that does not match the tax rate

Example

Flagged
| Item | Amount | | --- | --- | | Design | $3,000 | | Build | $5,000 | | Subtotal | $8,000 | | Sales tax (10%) | $880 |
What chaff prints
6:22 The tax $880 is not 10% of the amount above it ($800)
Fixed
| Item | Amount | | --- | --- | | Design | $3,000 | | Build | $5,000 | | Subtotal | $8,000 | | Sales tax (10%) | $800 |
What chaff prints
no finding

How to fix

Check the subtotal and the rate and work the tax out again. Correct the total with it.

Why it matters

When the "Sales tax (10%)" of a quote or an invoice is not 10% of the subtotal, the reader has to work the tax out again and can no longer trust the total. It happens when the rate is applied to the total instead of the subtotal, or when the subtotal is changed and the tax is not. In a list or a table, the amount of a line starting with a tax word (Tax, Sales tax, VAT) and giving a rate is compared with that rate of the subtotal line above it (or, with no subtotal line, of the sum of the items above). In a price list with a price before tax and a price with tax ("Pack price (excl. tax)", "Pack price (incl. 8% tax)"), each row's price with tax is compared with the price before tax plus the rate. The rate is the one in the heading of the price with tax, else the one the document gives ("8% sales tax"). A service charge line giving a rate is compared the same way, and a tax below it may be on the subtotal with the service charge added.

What it does not flag

Rounding down, to the nearest or up are all read as right. A tax line with no rate, a line for tax included in the total ("tax included"), a table with tax lines of different rates, and a table with an amount line (a discount, shipping) between the subtotal and the tax are not compared. A tax written in a sentence is not read. In a price list, two columns whose headings differ in more than the before-tax and with-tax words and the rate ("Unit price (excl. tax)" beside "Pack price (incl. tax)"), a table with no rate in its heading or in the document, and a document that also gives another rate (a reduced rate beside the standard one) are not compared.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: tax-mismatch — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax tax-mismatch --why "reason"
Turn it off for the team (chaff.yaml)
rules: tax-mismatch: off
Technical details
Layer
L3
Status
stable
Severity
error
Languages
Japanese and English
Suited to
business, technical, blog, legal, docs, academic, literature, speech
Reads from the document
quantities

Levels

Set a level for this rule under rules in chaff.yaml. With nothing set, it runs at the level its genre gives it (see By genre below).

normalerror
relaxedwarning

This rule has no limit to count to. A level sets how a finding is marked: relaxed keeps the finding and marks it a step lower.

By genre

Runs by default in
technical/spec, technical/readme, blog/tech, blog/essay, blog/owned-media, business/proposal, business/report, business/email, business/press-release, business/meeting-notes, legal/contract, legal/statute, legal/judgment, legal/patent, docs/manual, docs/faq, docs/glossary, academic/paper, speech/address, speech/transcript
Turned off by the genre in
literature/fiction, literature/essay, literature/poetry, literature/play

Genres

Message

The tax {written} is not {rate} of the amount above it ({expected})

The price with tax {written} is not the price before tax {base} plus {rate} tax ({expected})

This page is built from the rule's definition file:packages/chaff/rules/tax-mismatch.yaml