NCM review of the material master: batch audit and who decides
How to run a batch NCM review of the material master, separate data errors from tax decisions and keep a change history in light of Brazil's LC 214/2025.
To review the NCM codes of an entire material master, run a set of batch rules that flag invalid or discontinued codes, use of a residual "other" subheading, codes that do not match the description, and identical items with different codes. The master data team fixes what is a data error and builds a case file for the rest. The tax team decides the code, and every change is recorded with its history.
Picture a material master where the same bearing has one NCM code at one plant and a different code at the plant next door. Someone asks which one is right. The master data team says the tax team provided it. The tax team says it came from the supplier. In the end, nobody knows where the code came from.
You do not find this by opening records one by one. You find it when you treat the NCM as a master data quality job, with rules, queries and a decision queue. That is what this article covers: how to run an NCM review of the material master in batch, as part of material master data cleansing, and who signs off on each correction.
Some context for readers outside Brazil. NCM stands for Nomenclatura Comum do Mercosul, the 8-digit goods classification used by Brazil, Argentina, Paraguay and Uruguay; the first six digits follow the international Harmonized System (HS). Brazil's tax reform creates two new consumption taxes: IBS (Imposto sobre Bens e Serviços, the tax on goods and services) and CBS (Contribuição Social sobre Bens e Serviços, the social contribution on goods and services). Everything below applies to companies operating in Brazil. If you need the basics of the code itself, see what the product NCM is; for the wider picture, see the tax reform page.
What does LC 214/2025 say about the NCM?
Lei Complementar nº 214/2025 is the Brazilian supplementary law that establishes IBS and CBS, and it uses the NCM/SH (the NCM aligned with the Harmonized System) as the key for several tax treatments. The provisions below were checked in the published text on the Brazilian Federal Senate website on October 29, 2026. According to the law's record on the Senate website, none of the articles cited here appears in the list of changes made by LC 227/2026 or LC 235/2026; article 60 received a new paragraph 7, but its main text and paragraph 1 remain as published. Quotations are unofficial translations.
What the law says
- Article 125: reduces the IBS and CBS rates to zero on sales of the food products listed in Annex I, "with the specification of the respective NCM/SH classifications", which make up the National Basic Food Basket.
- Articles 131, 132, 135, 136 and 138: reduce IBS and CBS rates by 60% for goods listed in Annexes IV, V, VII, VIII and IX, also with the specification of their NCM/SH classifications (in article 138, the NCM/SH and the NBS, the Brazilian Nomenclature of Services, for agricultural and aquaculture inputs in Annex IX).
- Article 147: zero rate for basic menstrual health care products "classified under code 9619.00.00 of the NCM/SH". Its sole paragraph limits the reduction to products that meet the requirements set in a regulation by Anvisa, Brazil's health regulatory agency: "The rate reduction provided for in the main text of this article applies only to basic menstrual health care products that meet the requirements set forth in an Anvisa regulation."
- Article 409, paragraph 1: for the Selective Tax (Imposto Seletivo, an excise tax on goods and services deemed harmful), goods classified under the NCM/SH codes (and mineral coal) and the services listed in Annex XVII are considered harmful to health or the environment, starting with vehicles.
- Article 492: the NCM/SH referenced by the law is the one approved by Gecex Resolution No. 272 of November 19, 2021 (item I). Paragraph 1 states that the codes in the law conform to that NCM/SH. Paragraph 2 states: "Any future changes to the NCM/SH and NBS referred to in the main text that result in a change to the tax classification of the products mentioned in this Supplementary Law will not affect the provisions applied to them based on the previous classification."
- Article 60, main text and paragraph 1: the IBS and CBS taxpayer issues an electronic tax document for transactions involving goods or services, and "the information provided by the taxpayer under this article is declaratory in nature and constitutes an acknowledgment of the amount of IBS and CBS due stated in the tax document."
Operational reading
This part is my reading, not the text of the law. The NCM that flows from the master data to the invoice is part of the information that article 60, paragraph 1, treats as declaratory. Several rate reductions and the Selective Tax are defined by lists of codes (articles 125, 131, 132, 135, 136, 138, 147 and 409). And when the NCM table changes, the treatment set by the law follows the product described in the annex based on the previous classification (article 492, paragraph 2). For the tax team to link an item to its annex after a table change, the master data needs to keep the previous code, the new code, the date and the official act that made the change.
Recommendation
Do not overwrite the NCM without history. Check the database against the current table, looked up in the NCM On-line tool of Sistema Classif, the Brazilian government's official goods classification lookup on the Siscomex Single Foreign Trade Portal, keep the date of the lookup, and give priority to items whose code appears in a reduction annex or in the Selective Tax list.
Which rules should a batch NCM audit use?
Receita Federal, Brazil's federal revenue service, notes that the NCM has just over 10,000 codes, organized into 21 Sections and 96 Chapters, and that classification means determining the code according to the NCM's own criteria. Nobody reviews that from memory in a large database. The way forward is a set of rules that separates what is clearly wrong from what needs a technical eye.
The table below is a starting set. Each rule becomes a query on the data extracted from the ERP or the MDM platform. "PDM" here means the material description standard: the family, the template and the attributes that define each item.
| Rule | How to build the query | What it catches | Typical false positive | Destination |
|---|---|---|---|---|
| Format and existence in the current table | Strip dots and spaces, check for 8 numeric digits and match against the current table looked up in the NCM On-line tool of Sistema Classif, keeping the lookup date. | Empty field, missing digit, mistyped code, code that does not exist in the table. | System that stores the NCM with a display mask; item that is a service and should not have an NCM. | Format: fixed by rule. Nonexistent code: goes to the tax team. |
| Code that no longer exists | Match codes not found against earlier versions of the table and the change history, noting the act and date of the change and the replacement code. | Item created years ago and never reviewed after a table change. | Blocked item with no activity; code split into several, with no single successor. | Tax team, with the old code, the candidate successor and the act attached. |
| Residual "other" subheading when the family has a specific code | Flag items whose code is an "other" breakdown and check whether, in the same PDM family, other items use a specific code under the same heading. | Generic classification chosen for convenience. | Item that genuinely does not fit any specific breakdown. | Tax team. |
| PDM description or attributes inconsistent with the chapter or heading | Build, together with the tax team, a mapping between PDM family and expected chapters or headings; flag items that fall outside it. | NCM of another product, a typo that produced a valid code, item classified under the wrong family. | Poorly defined PDM family or weak description, where the error is in the text, not the code. | Wrong description: master data fixes it. Wrong code: tax team. |
| Same family or same part number with different NCM | Group by PDM family and the attributes that define the product, or by manufacturer and part number, and count the distinct NCM codes in each group. | Identical items classified differently, often a sign of duplicates. | An attribute that really changes the classification, such as material, size or use. | Duplicates: master data handles them. Group code: tax team. |
| Mismatch across plants, companies or systems | Compare the NCM of the same material number across plants, group companies and systems (ERP, MDM, tax system). | A local adjustment that never made it back to the master record. | Delayed interface, where the mismatch disappears with the next load. | Tax team decides the code; master data replicates it by rule. |
| NCM copied from the supplier without review | Compare the master data NCM with the code on incoming invoices and check whether the field was filled by an XML import with no recorded approval. | Code adopted without analysis by whoever classifies goods in the company. | The supplier's NCM was right; the only problem was the missing review. | Tax team. |
| Item whose NCM appears in a reduction annex or in the Selective Tax list | Match the master data codes against the codes in the annexes cited above and in article 409. | Items where a wrong code changes the treatment set by the law. | The code matches, but the item does not correspond to the product described in the annex. | Priority in the tax team's queue. |
Some rules overlap. One item may fall under "other" and also differ across plants. Consolidate the alerts per item before sending anything out, or the tax team gets the same line three times.
Who decides the NCM correction, master data or the tax team?
Master data organizes and the tax team decides. This split avoids two common mistakes: master data changing codes on its own, and the tax team receiving a spreadsheet with thousands of lines and no context.
What master data fixes by rule
- Field format (mask, spaces, digits outside the standard).
- Description and attributes outside the PDM, when the error is in the text and not in the code. The article on how to write material descriptions helps here.
- Duplicates found by the family or part number rule, following the approach for identifying duplicate materials.
- Replicating a code the tax team has already decided to every plant and system.
What goes to the tax team
Any code change. Even when the rule looks obvious, choosing the NCM is tax classification and belongs to whoever is accountable for it in the company.
The case file master data builds
For each item or group of items, the tax team should receive:
- the description standardized by the PDM and the technical attributes filled in;
- the manufacturer's data sheet or catalog and, when available, a photo;
- how the item is used in the company (consumption, resale, production input, maintenance);
- the current NCM at each plant and system, the NCM on purchase invoices and, if the item is sold, the NCM used on outgoing invoices;
- the field history and the audit rules that flagged the item.
With this, the tax team decides in batches by family, not item by item.
What to record when the NCM changes
The minimum record for any correction (previous value, new value, source, approver, date) is already in the material master data cleansing checklist. For the NCM, add three things: the reason for the change (which rule flagged it), the reference to the law's annex when the item is in one, and, when the change comes from a table update, the official act and its date. That last piece is what lets you link the item to its previous classification, as article 492, paragraph 2, provides.
Correcting invoices already issued is outside the scope of this article: it is a matter for the company's tax team.
What does this look like in an example?
Hypothetical example, created to illustrate the method, with no relation to the real classification of any product.
A company has a "protective glove" family in its PDM. The same family rule shows that most items are under code A, some are under code B and one item is under an "other" subheading, code C. The cross-plant rule shows that one of the code B items is under code A at another plant. The supplier rule shows that the code C item was filled from the incoming invoice XML and never went through approval.
Master data starts with the attributes. It finds that two code B items are made of a different material from the rest, which may justify a different classification, and that one of them has no material attribute filled in. It completes the attribute, builds a single case file for the family and takes it to the tax team with the three codes found, the data sheets and the purchase invoices.
The tax team decides the code for each subgroup. Master data applies it, replicates it across plants and records the history of each change with the reason and the approval.
Where to start
- Extract the data with material number, description, PDM family, attributes, NCM per plant, company and system, field origin, date of last change and status.
- Use the current table looked up in the NCM On-line tool of Sistema Classif and record the lookup date.
- Run the rules that do not depend on judgment first: format, existence and cross-plant mismatch.
- Agree with the tax team on the mapping between PDM family and expected heading, and on the queue order, starting with items in a reduction annex or in the Selective Tax list.
- Build case files per family and send them in small batches.
- Apply each decision with history and replicate it to every plant and system.
- Put the same rules into material creation, so the database does not slide back. See how this fits into material master data cleansing.
Frequently asked questions
Does Brazil's tax reform require a review of the NCM in the master data?
In the articles cited here, LC 214/2025 does not mention reviewing master data. What it does is use the NCM/SH to define zero rates, reductions and the Selective Tax, and treat invoice information as the taxpayer's declaration. The review is an operational recommendation so that the declared code is correct.
Who is responsible for the NCM, master data or the tax team?
The code decision belongs to the tax team, or to whoever the company designates as responsible for classification. Master data is responsible for the quality of the data behind the decision (description, attributes, data sheet) and for applying and replicating the approved code with history.
Can I use the NCM from the supplier's invoice?
It is a good clue, not a decision. The supplier classifies the product from its own point of view, and the invoice your company issues is your company's declaration. Use the supplier's NCM as input in the case file and leave the approval to the tax team.
What should I do when the NCM table changes?
Run the existence rule again against the current table, separate the codes that no longer exist and take them to the tax team with the candidate successor. When you change a code, record the previous code, the new one, the act that changed the table and the date, to keep the link to the previous classification.
Can the whole review be automated?
Detection, grouping, case file assembly and replication can be automated. Choosing the code remains a technical decision for the tax team, because it depends on the NCM interpretation rules and on the actual product.
How 4MDG can help
In 4MDG's material master data cleansing, NCM classification is checked item by item, consistent across every plant and every system, together with PDM standardization and removal of duplicates. The code decision stays with your company's tax team; our job is to deliver the data organized for that decision. If you want to see where your database stands, the free assessment runs on a real sample of your data, with nothing to install, and shows duplicate items, items missing attributes and items with inconsistent classification. If you would rather talk first, reach us through the contact page.
This content is for information only and does not replace legal or tax advice. The tax classification of each item must be decided by the company's tax officer, based on the Brazilian legislation and the NCM table in force.
Sources
- Brazilian Federal Senate. Federal Legislation: Lei Complementar nº 214/2025 (law record and amendments). https://legis.senado.leg.br/norma/40180341. Accessed on October 29, 2026.
- Brazilian Federal Senate. Lei Complementar nº 214/2025, original published text. https://legis.senado.leg.br/norma/40180341/publicacao/40181429. Accessed on October 29, 2026.
- Receita Federal. NCM (Nomenclatura Comum do Mercosul). https://www.gov.br/receitafederal/pt-br/assuntos/aduana-e-comercio-exterior/classificacao-fiscal-de-mercadorias/ncm. Accessed on October 29, 2026.
- Single Foreign Trade Portal (Siscomex). Sistema Classif. https://portalunico.siscomex.gov.br/classif/. Accessed on October 29, 2026.
- 4MDG. Material master data cleansing. https://4mdg.com.br/en/material-master-data-cleansing. Accessed on October 29, 2026.
- 4MDG. Tax reform. https://4mdg.com.br/en/reforma-tributaria. Accessed on October 29, 2026.
- 4MDG. Consulting and assessment. https://4mdg.com.br/en/consultoria-e-diagnostico. Accessed on October 29, 2026.