ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

X12 150 — Tax Rate Notification

The 150 transmits the official update of a tax rate from a jurisdiction to the actors that must apply it: merchants, employers, payroll providers.

Purpose

The 150 documents the official tax rate change (sales tax, use tax, unemployment insurance rate, withholding rate) issued by a state or local tax authority. It carries the jurisdiction (state, county, city), tax category, old rate, new rate, effective date, and the standardized jurisdiction code (FIPS, GeoTaxCode).

It feeds point-of-sale systems, payroll engines (ADP, Workday), and third-party services (Avalara, Vertex). Acknowledged by 997; no business response — the merchant simply applies the new rate from the effective date.

Envelope structure

The 150 travels within the three X12 envelope levels (ISA/IEA, GS/GE with functional group TR, and ST/SE). Didactic example in release 004010:

x12 example-150.x12
ISA*00*          *00*          *ZZ*CADOR         *ZZ*MERCHANT      *260514*1500*U*00401*000000150*0*P*>~
GS*TR*CADOR*MERCHANT*20260514*1500*1*X*004010~
ST*150*0001~
BGN*00*TR-2026-0042*20260514~
N1*PR*CALIFORNIA DEPT OF TAX*24*EIN-CADTFA~
LX*1~
REF*ZZ*FIPS-06-001-ALAMEDA~
REF*ZZ*SALES-TAX-DISTRICT~
AMT*PE*0.0925~
DTM*009*20260701~
LX*2~
REF*ZZ*FIPS-06-075-SAN-FRANCISCO~
REF*ZZ*SALES-TAX-DISTRICT~
AMT*PE*0.0875~
DTM*009*20260701~
SE*12*0001~
GE*1*1~
IEA*1*000000150~

Common segments

  • HeaderST, BGN.
  • AuthorityN1*PR (Taxing Authority).
  • Rate — repeated LX loop: REF*ZZ (FIPS / jurisdiction), REF*ZZ (tax category), AMT*PE (decimal rate), DTM*009 (effective date).
  • Old rateAMT*N9 optional for the previous rate, useful for traceability.
  • SummarySE.

Common pitfalls

  • Decimal vs percent: AMT*PE is a decimal (0.0925 = 9.25%); sending 9.25 multiplies the rate by 100 and breaks compliance.
  • Retroactive effective date: a 150 with a past DTM*009 is technically valid but operationally dangerous — already-invoiced transactions must be readjusted via 812 (Credit/Debit Adjustment), not by 150 alone.
  • Geocoding: a FIPS code alone does not cover special districts (transit, hospital); add a REF*ZZ GeoTaxCode (Avalara) or TaxRateCode (Vertex) if the jurisdiction includes those layers.

Documentation

The code 150 and the name Tax Rate Notification are public and listed on x12.org/products/transaction-sets. The complete structure of loops, qualifiers and code lists is distributed by DISA via the proprietary Implementation Guides (TR3). ediverse.io covers only public concepts, the envelope and didactic examples.