Buying Operations Software in Brazil: A Straight Guide
Ask how many tax figures one line can carry, and who maintains the rate dataset. Both have unambiguous answers, and one of them is the question almost nobody asks.
Brazilian software evaluations are unusually crowded, because the fiscal requirement is genuinely hard and every vendor has a story about it. The questions below are the ones with structural answers — a number, a yes, a name — rather than the ones that produce a story. They can all be asked in one meeting and most can be verified in a trial account afterwards.
Our own answers are beside each. Several are bad. That is deliberate: the point of publishing a list like this is undermined entirely if the vendor writing it exempts itself.
1. How many separate tax figures can one [invoice](/glossary/invoice) line carry?
A count, not a list of supported taxes. A Brazilian line can bear ICMS, IPI, PIS and COFINS together, or ISS in place of ICMS on services, and the transition adds CBS and IBS alongside all of them for years rather than instead of them. Ask for the number.
Our answer
One. Our invoice line has a single tax rate column, and an item's tax treatment resolves to the organization's default rate or to zero — there is no third branch. You can charge a correct total; you cannot hold it as its parts. It is a data-model change on our list with a price, not a setting.
2. Can each figure name the authority it is owed to?
The follow-up that matters more than the first question, and the one most likely to be answered with "it's in the report". Ask to see a report of tax owed grouped by authority for a past quarter. Either the grouping exists or it does not, and the answer is visible in about thirty seconds.
Our answer
No. The split by levying government is not stored, so there is nothing to group by. We can tell you what a period looked like in total and reproduce a prior period faithfully, and we cannot tell you what a tax figure inside it was composed of.
3. What in the system knows where the customer is?
Interstate ICMS depends on origin and destination together, so the rate is a fact about a route rather than about a business — and the reform moves taxation toward the destination rather than away from it. Raise an invoice to a customer in another state and ask what in the calculation knew they were elsewhere.
Our answer
Nothing. Our per-organization rate carries a country, a region and a city — three columns of geography, all describing your own address. The near-miss is worth stating: the geography exists, and what is missing is a second endpoint. A rate that describes a route has nowhere to live.
4. Can you pull a report for a period two years back?
Through a transition measured in years this becomes the most-asked question in the building, and it is the cheapest one to test. A system that only reports on the current state turns every historical question into a reconstruction exercise, performed by whoever remembers.
Our answer
Yes, and it is one of the things we are genuinely good at. Reports run against a period rather than a snapshot, and the tax rate is stored on each invoice line when the document is raised — so a prior year reads as it read then, whatever the reference tables say now.
5. Do you transmit to SEFAZ, or produce a file somebody else transmits?
These are different products and the distinction is regularly blurred. Ask which, then ask who carries the liability when a transmission fails and who holds the certification. A vendor uncomfortable with the second question has answered the first one dishonestly.
Our answer
Neither. We do not issue NF-e and we transmit nothing. That is a boundary rather than a backlog — clearance is a specialist integration with its own certification and liability attached, and a system that half-implements it is more dangerous than one that does not, because it looks finished.
6. Who maintains the rate dataset, and on what schedule?
The question almost nobody asks, and the most important one on this list. Roughly five and a half thousand municipalities set their own ISS. A vendor shipping all of them is shipping a dataset with a maintenance commitment attached — and if your filings depend on their copy being current, you have moved a live compliance risk onto somebody else's release cycle, where you cannot see it.
A good answer names who updates it, how often, what the lag is after a change, and what happens when they are wrong. A bad answer treats the question as pedantic.
Our answer
We do not maintain one, on purpose. Hold the rates you actually charge, record the source and the date you checked, and let the system store the record rather than assert the judgement. That is less convenient and it keeps the risk where you can see it.
Two questions for your adviser instead
Whether the pilot year carries an actual collection obligation is disputed in published accounts, and it is a question with a date and a professional attached. Ask them, not a vendor — then ask the vendor whether the system can record what they tell you.
The same goes for how the transition changes where your stock should sit. Brazilian distribution has long been positioned partly for tax reasons, and a destination-based system removes that incentive over time. That is a network question with a tax input, not a software feature, though a system that holds stock by location with real movement history is what lets you put numbers to it.
What the list is for
Every question above resolves to a number, a yes, a no or a name. None of them requires a proposal, and four can be checked in a trial account without anybody's help. That is the entire design: move the decision out of the meeting, where the vendor is fluent, and into the software, where it is not.
And if running these against us produces the conclusion that we are the wrong system for the fiscal half of a Brazilian operation, that is a legitimate conclusion and one we would rather you reached from a blog post than from an implementation. Buying the operations layer separately from the fiscal one is a real architecture here, and it is the honest recommendation more often than a vendor page will tell you.