Fiscalapi
Clave prod serv: find the right SAT product key

Clave prod serv: find the right SAT product key

May 10, 2026

Leer en español

If you've spent more than five minutes hunting for the right clave prod serv in the product and service catalog of the SAT (Mexico's tax authority, Servicio de Administración Tributaria), you're not the problem. The catalog has more than 52,000 codes based on the UNSPSC standard, and the official tool makes you click through divisions, groups, and classes without a decent search box. The practical result: most issuers end up using the first key that looks close enough. Later that turns into CFDIs (Mexico's electronic invoices) the SAT questions, mismatches with the ClaveUnidad, or keys so generic that the SAT flags them in a review.

This guide fixes that with three things: how the catalog is built, a decision tree by business type, and a list of the keys that cover 90% of the CFDIs issued in Mexico.

What clave prod serv means: the SAT product and service catalog

The SAT product and service catalog (c_ClaveProdServ) is the official list of codes that identify what's sold or which service is provided in each line item of a CFDI. It's a required field in the XML's Concepto node, validated when the CFDI is stamped (stamping: the certification by a SAT-authorized provider that makes a CFDI valid). It's part of Anexo 20 (the SAT technical standard that defines the CFDI: its XML structure, catalogs, and validation rules) of the current Resolución Miscelánea Fiscal (the SAT's annual tax rules).

Each key has 8 digits and follows the UNSPSC structure (United Nations Standard Products and Services Code), an international standard the SAT adopted with CFDI version 3.3. So the keys aren't arbitrary. There's a taxonomy behind every number, and understanding that taxonomy is what lets you find the right key without spending three hours on the SAT portal.

ClaveProdServ structure: what the 8 digits mean

The 8 digits of the catalog split into four hierarchical pairs:

PositionLevelExample (accounting services)
1-2Division (segment)84 Financial and insurance services
3-4Group (family)11 Accounting and auditing services
5-6Class15 Accounting services
7-8Specific product or service00 Accounting services (generic)

Put it all together and you get 84111500, Servicios contables (accounting services). If you need more detail, digits 7-8 go up to 01, 02, 03... to mark specific subcategories (for example, 84111502, Servicio de contabilidad financiera (financial accounting), or 84111504, Servicios de teneduría de libros (bookkeeping)).

You don't have to go to the deepest level. The SAT's filling guide for Anexo 20 says classifying down to the class (the first six digits) is enough, so 84111500 (class) is as valid as 84111502 (specific product). The levels above the class are a different story: c_ClaveProdServ has no division or group keys, so a code like 84110000 doesn't exist and fails stamping. The SAT does expect the key to reasonably describe what you sold. A product-level key is always easier to defend in a review than a class-level one.

Where ClaveProdServ lives in the CFDI 4.0 XML

The key is an attribute of the Concepto node, next to ClaveUnidad (the unit of measure) and the rest of the line item's fields. Here's a typical node for a company that sells consulting services:

<cfdi:Conceptos>
  <cfdi:Concepto
    ClaveProdServ="80101500"          <!-- Business consulting services -->
    NoIdentificacion="CONSULT-001"
    Cantidad="1"
    ClaveUnidad="E48"                 <!-- Service unit -->
    Unidad="Servicio"
    Descripcion="Consultoría estratégica - mes de mayo 2026"
    ValorUnitario="50000.00"
    Importe="50000.00"
    ObjetoImp="02">                   <!-- Subject to tax -->
    <cfdi:Impuestos>
      <cfdi:Traslados>
        <cfdi:Traslado
          Base="50000.00"
          Impuesto="002"              <!-- IVA -->
          TipoFactor="Tasa"
          TasaOCuota="0.160000"
          Importe="8000.00" />
      </cfdi:Traslados>
    </cfdi:Impuestos>
  </cfdi:Concepto>
</cfdi:Conceptos>

Three rules apply when the PAC (Proveedor Autorizado de Certificación, a SAT-authorized provider that stamps CFDIs) validates this node:

The key must exist in the current version of the c_ClaveProdServ catalog. If you use a made-up code or one that's been withdrawn, stamping fails with a catalog-not-found error.

ClaveProdServ has to make sense alongside ClaveUnidad. If you sell a service (divisions 80, 81, 84...), the sensible unit is E48 (Unidad de servicio, service unit) or ACT (Actividad, activity). If you use KGM (kilogram) with a service key, the CFDI stamps, but the SAT can question it later because the combination makes no sense.

Descripcion has to match the key. No automated check reads the text, but in a review the SAT compares the two. If you describe "Reparación de impresora" (printer repair) while your ClaveProdServ is 81112200 (software maintenance and support), the inconsistency gets caught.

How to choose the right clave prod serv: a decision tree

Start with a different question. Skip "what's my key?" and ask "what kind of thing am I invoicing?". Once you find the right division, finding the specific class takes minutes.

The divisions that cover nearly every commercial CFDI in Mexico are 80 (professional services), 81 (technical and IT services), 84 (financial and accounting services), 78 (transportation), 72 (construction), and 90 (travel, food, and lodging). If what you sell doesn't clearly fit any of them, it's probably a physical good, and you need to go down to divisions 10 through 60.

ClaveProdServ list: the most used keys in Mexico by business type

This table covers the line items that show up in most CFDIs issued in the country. It's grouped by business type so you can find the relevant row without scrolling through the SAT's full catalog. The descriptions are the SAT's own, in Spanish, as they appear in the catalog.

ClaveProdServSAT descriptionTypical business
80101500Servicios de consultoría de negocios y administración corporativa (business consulting and corporate management)General consulting
80101504Servicios de asesoramiento sobre planificación estratégica (strategic planning advisory)Consulting
80111600Servicios de personal temporal (temporary staffing)Outsourcing / staffing
80121600Servicios de derecho comercial (commercial law services)Law firms
84131601Seguros de vida (life insurance)Insurers / brokers
80141600Actividades de ventas y promoción de negocios (sales and business promotion)Marketing / advertising
80161500Servicios de apoyo gerencial (management support services)Administrative services
81101500Ingeniería civil (civil engineering)Engineering
81111500Ingeniería de software o hardware (software or hardware engineering)Development / SaaS
81112105Servicios de hospedaje de operación de sitios web (website hosting)Hosting / cloud
81112200Mantenimiento y soporte de software (software maintenance and support)Tech support
81112300Mantenimiento y soporte de hardware de computador (computer hardware maintenance and support)IT infrastructure
81111700Sistemas de manejo de información MIS (management information systems)Systems / IT
81112103Servicios de diseño de sitios web www (website design)Web agencies
84111500Servicios contables (accounting services)Accountants
84111600Servicios de auditoría (audit services)Auditing
84121500Instituciones bancarias (banking institutions)Banking
84131500Servicios de seguros para estructuras y propiedades y posesiones (insurance for buildings, property, and belongings)Property insurance
85101503Servicios de consultorios médicos (medical office services)Medical offices / hospitals
85121600Servicios médicos de doctores especialistas (specialist physician services)Specialists
86101700Servicios de capacitación vocacional no - científica (non-scientific vocational training)Courses / training
86111500Servicios de aprendizaje a distancia (distance learning)Edtech / e-learning
90101500Establecimientos para comer y beber (places to eat and drink)Restaurants
90101700Servicios de cafetería (cafeteria services)Coffee shops
90111500Hoteles y moteles y pensiones (hotels, motels, and guesthouses)Lodging
78101800Transporte de carga por carretera (road freight)Freight / moving
78111803Servicios de buses contratados (chartered buses)Staff transportation
78102200Servicios postales de paqueteo y courrier (postal, parcel, and courier services)Parcel delivery
78111500Transporte de pasajeros aérea (air passenger transportation)Airlines
78102205Servicios de entrega local de cartas o paquetes pequeños (local delivery of letters or small parcels)Messenger services
72101507Servicio de mantenimiento de edificios (building maintenance)Property maintenance
72121100Servicios de construcción de edificios comerciales y de oficina (commercial and office building construction)Construction companies
72151100Servicios de construcción de plomería (plumbing construction)Plumbing
14111500Papel de imprenta y papel de escribir (printing and writing paper)Stationery stores
24121500Cajas, bolsas y sacos para empaquetado (boxes, bags, and sacks for packaging)Industrial packaging
44121600Suministros de escritorio (desk supplies)Office supplies
56101700Muebles de oficina (office furniture)Furniture
43231600Software de planificación de recursos empresariales (ERP) y contabilidad financiera (ERP and financial accounting software)ERPs / CRMs
01010101No existe en el catálogo (not in the catalog)Global invoice to the general public (see below)

Food, beverages, and tobacco (division 50) has no key of its own: 50000000 doesn't exist in the catalog, so a grocery store uses the class of each product it sells.

The key 01010101 (No existe en el catálogo, not in the catalog) is the only exception to the UNSPSC logic. If you searched for clave prod serv 01010101, here's what it's for. The SAT's filling guide for the global invoice (factura global, one CFDI that groups a period's sales to the general public) requires it on every line item. The global invoice is issued to the general public (customers who did not ask for their own CFDI) with the generic RFC XAXX010101000 (RFC: Mexico's taxpayer ID, Registro Federal de Contribuyentes). Outside the global invoice, the Anexo 20 filling guide allows it only in the extreme case where nothing in the catalog resembles what you sell, not even a nearby class. Don't use it as a fallback when you can't find your key. If you use it with a real RFC, the recipient may have trouble deducting the expense.

The SAT suggestions almost nobody uses

The SAT publishes a PDF called "Sugerencias de Claves de productos y servicios y Claves de unidades de medida" (suggested product and service keys and units of measure), SugerenciasVF.pdf, hosted on the pys.sat.gob.mx portal. Few people know about it, but it's useful: it groups common business types and suggests the ClaveProdServ + ClaveUnidad combination the SAT considers acceptable for each one.

For example, for a stationery store the document suggests product keys such as 14111514 (Blocs o cuadernos de papel, paper pads or notebooks) with H87 (piece). For a doctor's practice it suggests 85121502 (Servicios de consulta de médicos de atención primaria, primary care consultations) with E48 (service unit). It isn't binding, but when a key for your business type appears in this PDF, you have a solid argument if the SAT questions your choice in a review.

The suggestions file gets updated now and then. Before you use it as your only reference, check the PDF's date on the SAT portal. When your business type isn't in the suggestions, you're better off with the most specific UNSPSC key available than with a suggestion that doesn't fit.

Common mistakes when choosing the ClaveProdServ

These are the problems that keep showing up in production when the field gets filled in without understanding what's behind it.

Download the SAT product and service catalog in Excel

A lot of people look for the SAT product and service catalog in Excel so they can filter it and search with Ctrl+F instead of fighting the official viewer. The original source is the catCFDI.xls file the SAT publishes with Anexo 20 on its portal. Its c_ClaveProdServ sheet holds every SAT product and service key (more than 52,000), and the file includes the rest of the CFDI 4.0 catalogs.

Two warnings before you download it:

  1. The file goes stale. The SAT publishes new versions several times a year. An Excel file saved on your desktop six months ago can contain keys that have since been withdrawn.
  2. Excel truncates and reformats. Keys like 01010101 can lose their leading zeros if the cell is read as a number. If you're going to copy keys from Excel into your system, make sure the column is formatted as text.

If you'd rather query the catalog without downloading anything, use the SAT catalogs API in Fiscalapi. It searches by description, returns any record by its key, and holds the same records the SAT publishes, so you can build it into your system.

How to query the catalog programmatically

The SAT's official catalog ships as a static XSD/XML file several megabytes in size. Loading it into memory on every stamping call is absurd. Searching it with grep is too, because searching by description is noisy (lots of descriptions look alike).

Fiscalapi exposes the ClaveProdServ catalog through its REST API as SatProductCodes, with a paginated search by description and a lookup by key, on the same records the SAT publishes. If you're integrating invoicing and need your UI to show a key picker with autocomplete, querying the catalogs API (documented at docs.fiscalapi.com/en/catalogs) is cheaper than maintaining the catalog yourself and far more reliable than hardcoding keys in the front end. The catalog endpoints are available in the official SDKs for .NET, Node.js, Python, Java, and PHP, and the integration examples live on GitHub.

For c_ClaveProdServ specifically, the SAT catalogs documentation in Fiscalapi describes the search parameters, pagination, and the catalogs for each level of the UNSPSC hierarchy (division, group, class). The products and services section of the SAT catalogs reference shows a sample of the keys.

Frequently asked questions about the SAT product and service catalog

The SAT product and service catalog isn't going to get any shorter, but it stops being intimidating once you understand that UNSPSC is hierarchical and that 90% of the CFDIs issued in Mexico fit in fewer than 50 keys. Save this table, find the class for your business once, and keep manual selection for the line items that call for it.