One Line, Several Taxes
Most tax arguments are about what a number should be. This one is about how many numbers there are — and our invoice line has room for one.
A single line on a Brazilian invoice can bear ICMS, IPI, PIS and COFINS at the same time — ISS instead of ICMS if what you sold was a service. Four or five separate taxes, each with its own base, its own administering government and its own return, all describing one thing somebody bought. Our invoice line has one column for tax. This post is about what that difference actually costs, which is less than it sounds in one direction and considerably more in another.
The distinction that matters: charging versus composing
A system with one tax column can charge a Brazilian customer correctly. Configure the rate you actually charge, and the total on the document is the right total. Nothing drifts, nothing silently disagrees with itself, and your customer pays what they owe.
What it cannot do is hold that total as its parts. It cannot say that this much of the figure is ICMS and that much is IPI. It cannot attribute the parts to the state, the federal government and the municipality that levy them. And it cannot report on them separately, because separately is not a state the data was ever in.
Why this is worth stating carefully
The lazy version of this post says "our system does not handle Brazilian tax", which is both vaguer and less true. The accurate version is that we hold a sum and not its addends — and whether that matters depends entirely on where the composition currently happens in your organization.
Where the limit is, precisely
Two facts about our schema, both checkable rather than argued. Our invoice line has room for exactly one tax figure. And an item's tax treatment resolves to one of two things: the organization's default rate, or zero. There is no third branch in that function, so an item cannot carry a second positive rate even if somebody built a screen offering one.
That is a shape rather than a setting, and it is the reason this is a data-model change rather than a configuration exercise. It is also why we would quote it as one instead of describing it as something you could switch on.
And the reform makes the count go up before it comes down
Brazil is replacing five indirect taxes with two — CBS federally and IBS below it — over a transition that runs for years rather than switching on a date. The property of that transition which matters to a system is not that new taxes arrive. It is that both systems run together: businesses calculate, report and remit the old taxes and the new ones alongside each other for the length of the overlap.
So a requirement that was already "several figures on one line" becomes "several more". A system that holds one figure does not become more adequate as the transition progresses; it becomes less, until the far end.
One thing we are deliberately not telling you
Whether the pilot year actually collects anything is a question we are leaving alone. Published accounts of it disagree — some describe symbolic rates with no collection obligation, others describe pilot-phase collection — and a post that picked one and printed it as fact would be doing the thing this blog exists not to do. Ask your adviser. The overlap itself is not in dispute, and the overlap is what creates the requirement.
The general question, which is not Brazilian
Cardinality is a question worth asking any system in any market, because it is nearly always asked too late. Most evaluations ask which taxes are supported. Almost none ask how many at once, and the second question has a number for an answer while the first has a sales response.
- How many separate tax figures can one line carry? Not "do you support VAT" — a count. Ours is one.
- Can each figure name the authority it is owed to? A figure that cannot be attributed cannot be reconciled against what you actually remitted, and cannot be reported by government.
- What happens when a country runs two tax systems at once? Transitions are not rare. Any system whose answer is "reconfigure the rate on the changeover date" has not understood that both sets may be live simultaneously.
We publish our own answers because a page that asks you to interrogate everyone else and never answers first has told you nothing. Ours are: one, no, and not yet. The work is specified and priced and it is not conditional on anybody buying anything — and if the composition of a tax figure is what you need a system to hold, buying a Brazilian fiscal system alongside an operations one is a legitimate architecture rather than a failure to find the right product.