> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invopop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SAT Mexico

> Issue and import CFDI invoices, onboard suppliers, and manage compliant submissions to Mexico's tax authority (SAT).

<Tabs>
  <Tab title="Description">
    <Columns cols="2">
      <div class="flex flex-col grow items-center justify-center">
        <Card title="Issue invoices" icon="https://assets.invopop.com/apps/sat-mexico/icon.svg" href="/guides/mx-sat-issuing" horizontal>
          Issuing guide ›
        </Card>

        <Card title="Receive invoices" icon="https://assets.invopop.com/apps/sat-mexico/icon.svg" href="/guides/mx-sat-receiving" horizontal>
          Receiving guide ›
        </Card>
      </div>

      |           |                                |
      | --------- | ------------------------------ |
      | Developer | [Invopop](https://invopop.com) |
      | Category  | Government                     |
      | Scope     | B2B, B2C, B2G                  |
      | Country   | [Mexico](/compliance/mexico)   |
    </Columns>

    Invopop's **SAT Mexico app** enables full compliance with Mexico's CFDI e-invoicing framework. Use ready-made workflows to register suppliers, authorize the local PAC, and issue CFDI v4 invoices directly from Invopop. The app also provides CFDI import capabilities, converting CFDI XML documents to [GOBL](https://docs.gobl.org) format for use in accounts payable and other processing workflows.

    #### Key features

    * **Workflow automation:** The app makes workflow steps available for post-registration, supplier registration, issuing invoices, and importing CFDIs.
    * **CFDI import:** Convert CFDI XML documents to GOBL format. Combine with the [SW Sapien app](/apps/sw-sapien) to bulk download CFDIs from SAT.
    * **PDF generation:** Optional PDF creation with configurable layout, locale, and formatting.
    * **PAC authorization:** One-time e.firma (FIEL) sign-off to allow the PAC to stamp and submit CFDIs on your behalf.
    * **CFDI v4 compliance:** Validations and transformations powered by the GOBL library and the `mx-cfdi-v4` addon.
    * **Supplier onboarding:** Collect RFC and fiscal regime code; upload CSD (certificate & key) and activate via a secure registration link.
    * **White-label support:** Invoicing can be performed either under a client's brand (white-label) or directly by the issuing organization, according to operational needs.

    Check out our [Issuing invoices guide](/guides/mx-sat-issuing) for instructions on how to issue invoices and onboard suppliers, or the [Receiving invoices guide](/guides/mx-sat-receiving) for importing CFDIs.

    ## FAQ

    Invoicing questions

    <AccordionGroup>
      <Accordion title="Do I have to issue B2C invoices in Mexico?">
        Purchases under \$100 mxn don't need to be issued, but they need to be registered in the global CFDI. Often issuing all invoices will simplify your operation.
      </Accordion>

      <Accordion title="Does Invopop support the white label (B2B2B) model in Mexico?">
        Yes. We must obtain a the supplier's CSD (digtial seal) and credentials to issue invoices in that company's name. We are especially powerful and simple for this. Read more in our [white label use case](/guides/white-label).
      </Accordion>

      <Accordion title="Can I issue a PPD invoice through Invopop?">
        Yes. The `mx-cfdi-v4` addon supports both PUE and PPD on the original invoice. What is **not** automated is the issuance of the subsequent payment receipts (REPs / Pago / complemento de pago) that must be emitted as payments are collected. If your operation regularly issues PPD invoices, you will need a separate mechanism for the REP lifecycle.
      </Accordion>

      <Accordion title="My customer paid late and now I have to cancel and re-issue?">
        Yes, if the original was issued as PUE and payment is not received by the last day of the issuance month, rule 2.7.1.32 RMF requires cancelling the original and re-issuing as PPD with `FormaPago = 99`, then issuing REPs as payments come in. This is calendar-driven, not payment-event-driven, and it surprises most non-Mexican implementations. The conservative approach is to issue PPD whenever there is any uncertainty about same-month payment.
      </Accordion>

      <Accordion title="What happens if I miss the REP deadline?">
        REPs must be issued by the fifth calendar day of the month following payment receipt (rule 2.7.1.35 RMF). Missing the deadline does not invalidate the underlying invoice, but it prevents the customer from deducting the expense in the correct period and exposes the issuer to fines. This is a recurring source of friction and the reason customers will sometimes refuse to accept cancellations from a supplier with poor REP discipline.
      </Accordion>

      <Accordion title="How do I configure my workspace for Mexican invoicing?">
        Install the SAT Mexico app (uses SW Sapien as PAC) plus the SW Sapien app for credentials. Onboard each issuing supplier with their CSD certificate and `mx-cfdi-issue-place`. Run invoices through the Issue CFDI workflow.
      </Accordion>

      <Accordion title="Where can I find the mapping of GOBL fields to CFDI?">
        The library that transforms GOBL into CFDI documents is publicly available as an open-source project and can be found at [github.com/invopop/gobl.cfdi](https://github.com/invopop/gobl.cfdi).

        For further details on how GOBL prepares data for conversion, see the [Mexico Tax Regime](https://github.com/invopop/gobl/blob/main/regimes/mx/README.md).
      </Accordion>

      <Accordion title="The PAC keeps rejecting my invoice with a postal code error">
        The most common cause is a mismatch between the receiver's postal code in the CFDI and the postal code SAT has on file for that RFC. Resolution: ask the customer for their CIF (Constancia de Situación Fiscal) and use the postal code printed there, exactly. Secondary causes:

        * The postal code is real but not yet in `c_CodigoPostal`. Use the closest catalog code from the place of issuance.
        * The receiver is `XAXX010101000` or `XEXX010101000` and `DomicilioFiscalReceptor` differs from `LugarExpedicion`. They must be equal for generic RFCs.
        * The branch issuing the document is configured with the matriz's postal code instead of its own.
      </Accordion>

      <Accordion title="How do I issue invoices with the 8% tax rate in border zones?">
        In Mexico, a reduced VAT rate of 8% applies to transactions in border zones (northern and southern border regions). To successfully issue invoices with this rate, **both** of the following conditions must be met:

        1. The supplier's RFC must be enabled by the SAT to invoice with the reduced rate in border zones.
        2. Both the `mx-cfdi-issue-place` field and the customer's postal code (when included) must correspond to border zones.

        If either condition is not met, the SAT will reject the invoice with an error.
      </Accordion>

      <Accordion title="What does the CFDI40999 error mean and how do I resolve it?">
        CFDI40999 is a generic "unclassified error" returned by the SAT when no other, more specific error code applies. This error can have multiple causes.

        A common scenario is invoicing in border zones with the reduced 8% VAT rate. If you receive this error in that context, verify:

        1. **RFC registration**: The supplier's RFC must be registered in the taxpayers registry for the appropriate border region tax incentive. Without this registration, the SAT will reject all invoices with the reduced rate. See [SAT's registration requirements and procedures](https://www.sat.gob.mx/minisitio/EstimulosFiscalesFronteraNorteSur/) for more information.
        2. **Issue place postal code**: The [`mx-cfdi-issue-place`](https://docs.gobl.org/addons/mx-cfdi-v4#place-of-issue) field must contain a postal code from a municipality within a border zone.
        3. **Tax rate**: Ensure you're applying the correct percentage (typically 8%) for the border zone.

        If the error persists after verifying these points, or you're getting this error for other reasons, please reach out to our support team.
      </Accordion>

      <Accordion title="Why does my customer's UsoCFDI keep getting rejected?">
        The UsoCFDI must be allowed for the receiver's `RegimenFiscal`. The catalog defines the valid combinations; not every code works for every régimen. For example, D01–D10 (personal deductions) are only valid for individuals, never for legal entities. RESICO contributors (régimen 626) have a restricted set. When in doubt, default to `S01` (Sin efectos fiscales) — it is always valid but produces a non-deductible invoice for the receiver. Always ask the customer which UsoCFDI they need before issuing.
      </Accordion>

      <Accordion title="How does Invopop handle time zones for Mexican invoices?">
        By default, Invopop uses Mexico City's time zone (UTC-6) when automatically setting the [`issue_date`](https://docs.gobl.org/draft-0/bill/invoice#issue-date) and [`issue_time`](https://docs.gobl.org/draft-0/bill/invoice#issue-time) fields. However, the SAT validates these fields based on the time zone of the postal code specified in [`mx-cfdi-issue-place`](https://docs.gobl.org/addons/mx-cfdi-v4#place-of-issue).

        If the issuing location is in a different time zone, the SAT may reject the invoice with an error indicating the timestamp is in the future, as it only allows up to 5 minutes ahead of the local time.

        To avoid this, explicitly set `issue_date` and `issue_time` in your GOBL invoice using the local time zone of the issuing location when operating outside Mexico City's time zone.
      </Accordion>

      <Accordion title="My foreign-currency invoice is failing validation">
        For non-MXN invoices, `TipoCambio` must be present and use the FIX rate published by Banxico in the DOF the day prior to the operation (Article 20 CFF, Article 56 Ley Aduanera). Common errors:

        * Using the day-of rate instead of the prior day's.
        * Quoting the inverse (USD per MXN instead of MXN per USD).
        * Setting `TipoCambio` on an MXN invoice (it must be 1 or absent).
        * Rounding inconsistently between line totals and document totals — Anexo 20 has specific rounding rules.
      </Accordion>

      <Accordion title="Where do I find Mexico-specific GOBL documentation?">
        See the [Mexico tax regime in GOBL](https://docs.gobl.org/regimes/mx) for tax categories, RFC structure, and CFDI extensions. The [`mx-cfdi-v4`](https://docs.gobl.org/addons/mx-cfdi-v4) addon documents required fields including UsoCFDI, RegimenFiscal, and place-of-issue.
      </Accordion>
    </AccordionGroup>

    Registering supplier questions

    <AccordionGroup>
      <Accordion title="Which PAC (Proveedor Autorizado de Certificación) does Invopop use?">
        Invopop uses [SW Sapien](https://sw.com.mx), an Authorised Certification Provider (PAC), to sign and stamp CFDI documents for the Mexican tax authority.
      </Accordion>

      <Accordion title="What happens if my CSD certificate is revoked?">
        Without a valid CSD, the issuer cannot stamp any CFDI through any PAC. SAT can administratively revoke a CSD when it suspects fraudulent activity, repeated non-compliance, or tax debts. Operations halt until the supplier resolves the underlying cause and obtains a new CSD. CSDs also expire every four years. Suppliers should monitor CSD validity proactively; Invopop relies on the CSD uploaded during supplier registration and does not manage its lifecycle.
      </Accordion>

      <Accordion title="How do I onboard a new supplier in Mexico?">
        Generate a registration link via the SAT Mexico Register Supplier workflow. The supplier uploads their CSD certificate (`.cer` + `.key` + password) and authorizes the PAC. Once validated, the supplier is ready to issue CFDIs.
      </Accordion>

      <Accordion title="What certificates does SAT/CFDI require to authenticate a supplier?">
        A CSD (Certificado de Sello Digital) issued by SAT specifically for invoicing — distinct from the FIEL (e.firma) used for portal login. The CSD comprises a `.cer` (X.509) and `.key` (encrypted private key) with a password set at generation. Validity: 4 years.
      </Accordion>

      <Accordion title="How are supplier credentials stored in Invopop for Mexico?">
        The CSD certificate (`.cer`), private key (`.key`), and key password are stored encrypted at rest. Invopop uses them only to seal CFDIs before transmission to the PAC; the password and key are never returned in API responses.
      </Accordion>
    </AccordionGroup>

    More answers in our [Mexico FAQ](/faq/mexico) section
  </Tab>

  <Tab title="Actions">
    The following workflow actions will be available once you install and enable this app:

    <Card title="Send invoice to SAT" icon="https://assets.invopop.com/apps/sat-mexico/icon.svg" horizontal>
      Send GOBL invoices to the Mexican SAT using the CFDI format.
      <div class="pop-count"><Icon icon="https://assets.invopop.com/icons/pops.svg" /> 5</div>
    </Card>

    <Card title="Import CFDI from SAT" icon="https://assets.invopop.com/apps/sat-mexico/icon.svg" horizontal>
      Convert a CFDI XML document to GOBL format. Accepts a URL pointing to the CFDI file (typically a Spool URL provided by the [SW Sapien app](/apps/sw-sapien)).
    </Card>

    <Card title="Add SAT registration link" icon="https://assets.invopop.com/apps/sat-mexico/icon.svg" horizontal>
      Start the process of registering a GOBL party with the Mexican SAT by generating a link for them to use to upload their certificate.
    </Card>
  </Tab>

  <Tab title="Workflows">
    The following templates help you get started quickly. Use them as is or as a base for your own flows.

    <AccordionGroup>
      <Accordion title="SAT Mexico post-registration">
        Mark suppliers as `registered` after successful onboarding.

        ```json Example SAT supplier post-registration workflow theme={"system"}
        {
          "name": "SAT supplier post-registration",
          "description": "Mark a SAT supplier as registered",
          "schema": "org/party",
          "steps": [
            {
              "id": "7e8d8070-3870-11ef-af29-4533d56cea03",
              "name": "Set state",
              "config": {
                "state": "registered"
              },
              "summary": "Set state to `registered`{.state .registered}",
              "provider": "silo.state"
            }
          ],
          "rescue": []
        }
        ```
      </Accordion>

      <Accordion title="SAT Mexico register supplier">
        Adds a registration link to a supplier to upload digital certificates to issue CFDI-compliant e-invoices.

        ```json Example SAT register supplier workflow theme={"system"}
        {
          "name": "SAT register supplier",
          "description": "Register a supplier with SAT",
          "schema": "org/party",
          "steps": [
            {
              "id": "1a9bcde0-a816-11ef-87b2-fd751e6d3b88",
              "name": "Sign envelope",
              "provider": "silo.close"
            },
            {
              "id": "2061c540-a816-11ef-87b2-fd751e6d3b88",
              "name": "Register supplier with SAT",
              "provider": "sat-mx.register"
            },
            {
              "id": "6f9282a0-3870-11ef-af29-4533d56cea03",
              "name": "Set state",
              "config": {
                "state": "processing"
              },
              "summary": "Set state to `processing`{.state .processing}",
              "provider": "silo.state"
            }
          ],
          "rescue": [
            {
              "id": "9a7b3d50-1358-11ef-af96-a18cfb3774fa",
              "name": "Set state",
              "config": {
                "state": "error"
              },
              "provider": "silo.state",
              "summary": "Set state to `error`{.state .error}"
            }
          ]
        }
        ```
      </Accordion>

      <Accordion title="SAT Mexico issue invoice">
        Issue a CFDI through SAT with optional PDF generation.

        ```json Example SAT issue invoice workflow theme={"system"}
        {
          "name": "SAT issue invoice",
          "description": "Issue an invoice through SAT and generate PDF",
          "schema": "bill/invoice",
          "steps": [
            {
              "id": "3cbf8d50-a819-11ef-87b2-fd751e6d3b88",
              "name": "Add sequential code",
              "provider": "sequence.enumerate",
              "summary": "Dynamic · SAT · 000001",
              "config": {
                "padding": 6,
                "start": 1
              }
            },
            {
              "id": "fc75e4f0-8721-11ef-a962-73e3f2037a52",
              "name": "Sign envelope",
              "provider": "silo.close"
            },
            {
              "id": "1f60a0b0-ea9f-11ee-8846-3d414f6173e4",
              "name": "Send invoice to SAT",
              "config": {
                "generate_pdf": false,
                "prepaid": false
              },
              "provider": "sat-mx"
            },
            {
              "id": "7a645420-1358-11ef-af96-a18cfb3774fa",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "English · Letter",
              "config": {
                "layout": "Letter",
                "logo_height": 40,
                "locale": "en",
                "date_format": "%Y-%m-%d"
              }
            },
            {
              "id": "85bf20c0-1358-11ef-af96-a18cfb3774fa",
              "name": "Set state",
              "config": {
                "state": "sent"
              },
              "provider": "silo.state",
              "summary": "Set state to `sent`{.state .sent}"
            }
          ],
          "rescue": [
            {
              "id": "9a7b3d50-1358-11ef-af96-a18cfb3774fa",
              "name": "Set state",
              "config": {
                "state": "error"
              },
              "provider": "silo.state",
              "summary": "Set state to `error`{.state .error}"
            }
          ]
        }
        ```
      </Accordion>

      <Accordion title="SAT convert CFDI">
        Convert a CFDI XML document to GOBL format with PDF generation. Used as the conversion step in the [bulk import flow](/guides/mx-sat-receiving).

        ```json Example SAT import CFDI workflow theme={"system"}
        {
            "name": "SAT import CFDI",
            "description": "Import a CFDI received through SAT",
            "schema": "bill/invoice",
            "steps": [
                {
                    "id": "6346e330-14cc-11f1-85d2-9d77c04210bc",
                    "name": "Import CFDI from SAT",
                    "provider": "sat-mx.import"
                },
                {
                    "id": "74f01110-14cc-11f1-85d2-9d77c04210bc",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `received`{.state .received}",
                    "config": {
                        "state": "received"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "e5f6a7b0-1a2b-11f0-b001-4a5b6c7d8e9f",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Documents">
    Paste into the Invopop Console (developer mode) or GOBL Builder.

    <AccordionGroup>
      <Accordion title="SAT Mexico supplier">
        ```json SAT Mexico party example theme={"system"}
        {
          "$schema": "https://gobl.org/draft-0/org/party",
          "uuid": "018fbeda-bc61-7000-b66d-398ce3e21c43",
          "name": "ESCUELA KEMPER URGATE",
          "tax_id": {
            "country": "MX",
            "code": "EKU9003173C9"
          },
          "ext": {
            "mx-cfdi-fiscal-regime": "601"
          }
        }
        ```
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="B2B invoice (Personas Morales)">
        In this example, we're issuing a standard B2B invoice from a Mexican supplier (Persona Moral) to another Mexican business customer (Persona Moral).

        Notice:

        * the minimal version (`sat-b2b.min.mdx`) contains only the essential fields required to create the invoice,
        * the [`mx-cfdi-v4`](https://docs.gobl.org/addons/mx-cfdi-v4) addon ensures the document will be validated using the SAT CFDI 4.0 rules built into the [GOBL](https://docs.gobl.org) library,
        * both supplier and customer have their RFC (tax identification) and fiscal regime properly specified,
        * there are no totals or calculations in the minimal version; all these will be calculated automatically when running `gobl build`,
        * the built version (`sat-b2b.mdx`) shows the normalized document with calculated totals, line item sums, tax breakdowns (IVA), and automatically generated fields, and,
        * make sure to process it with the appropriate SAT workflow to generate the CFDI XML and obtain the fiscal stamp.

        <CodeGroup>
          ```json SAT B2B Invoice theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$regime": "MX",
            "$addons": [
              "mx-cfdi-v4"
            ],
            "series": "XXMX",
            "tax": {
              "ext": {
                "mx-cfdi-issue-place": "44100"
              }
            },
            "supplier": {
              "uuid": "018fbeda-bc61-7000-b66d-398ce3e21c43",
              "name": "ESCUELA KEMPER URGATE",
              "tax_id": {
                "country": "MX",
                "code": "EKU9003173C9"
              },
              "addresses": [
                {
                  "street": "Julia Navarrete No. 1430",
                  "locality": "Guadalajara",
                  "region": "Jalisco",
                  "code": "44100",
                  "country": "MX"
                }
              ],
              "emails": [
                {
                  "addr": "esckemperugarte@example.com"
                }
              ],
              "ext": {
                "mx-cfdi-fiscal-regime": "601"
              }
            },
            "customer": {
              "name": "UNIVERSIDAD ROBOTICA ESPAÑOLA",
              "tax_id": {
                "country": "MX",
                "code": "URE180429TM6"
              },
              "addresses": [
                {
                  "locality": "Ciudad de Mexico",
                  "region": "Ciudad de Mexico",
                  "code": "86991",
                  "country": "MX"
                }
              ],
              "ext": {
                "mx-cfdi-fiscal-regime": "601",
                "mx-cfdi-post-code": "86991",
                "mx-cfdi-use": "G01"
              }
            },
            "lines": [
              {
                "quantity": "1",
                "item": {
                  "name": "Standard Plan",
                  "price": "1000.00",
                  "ext": {
                    "mx-cfdi-prod-serv": "81112002"
                  }
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "rate": "standard"
                  }
                ]
              }
            ]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "MX",
          	"$addons": [
          		"mx-cfdi-v4"
          	],
          	"type": "standard",
          	"series": "XXMX",
          	"issue_date": "2026-07-08",
          	"issue_time": "08:51:26",
          	"currency": "MXN",
          	"tax": {
          		"ext": {
          			"mx-cfdi-doc-type": "I",
          			"mx-cfdi-issue-place": "44100",
          			"mx-cfdi-payment-method": "PPD"
          		}
          	},
          	"supplier": {
          		"uuid": "018fbeda-bc61-7000-b66d-398ce3e21c43",
          		"name": "ESCUELA KEMPER URGATE",
          		"tax_id": {
          			"country": "MX",
          			"code": "EKU9003173C9"
          		},
          		"addresses": [
          			{
          				"street": "Julia Navarrete No. 1430",
          				"locality": "Guadalajara",
          				"region": "Jalisco",
          				"code": "44100",
          				"country": "MX"
          			}
          		],
          		"emails": [
          			{
          				"addr": "esckemperugarte@example.com"
          			}
          		],
          		"ext": {
          			"mx-cfdi-fiscal-regime": "601"
          		}
          	},
          	"customer": {
          		"name": "UNIVERSIDAD ROBOTICA ESPAÑOLA",
          		"tax_id": {
          			"country": "MX",
          			"code": "URE180429TM6"
          		},
          		"addresses": [
          			{
          				"locality": "Ciudad de Mexico",
          				"region": "Ciudad de Mexico",
          				"code": "86991",
          				"country": "MX"
          			}
          		],
          		"ext": {
          			"mx-cfdi-fiscal-regime": "601",
          			"mx-cfdi-use": "G01"
          		}
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"name": "Standard Plan",
          				"price": "1000.00",
          				"ext": {
          					"mx-cfdi-prod-serv": "81112002"
          				}
          			},
          			"sum": "1000.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "16.0%"
          				}
          			],
          			"total": "1000.00"
          		}
          	],
          	"totals": {
          		"sum": "1000.00",
          		"total": "1000.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"base": "1000.00",
          							"percent": "16.0%",
          							"amount": "160.00"
          						}
          					],
          					"amount": "160.00"
          				}
          			],
          			"sum": "160.00"
          		},
          		"tax": "160.00",
          		"total_with_tax": "1160.00",
          		"payable": "1160.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="B2B Invoice on behalf of a third party (a cuenta de terceros)">
        In this example, the **supplier** issues the CFDI to the customer, but the **goods or services belong to another taxpayer**. SAT expects the **third-party seller** to be declared on the line via the `seller` object (for example consignment or commission sales).

        Notice:

        * the minimal version (`sat-third-party.min.mdx`) includes a `seller` on the line with RFC, fiscal regime, and postal code for the party actually selling,
        * the [`mx-cfdi-v4`](https://docs.gobl.org/addons/mx-cfdi-v4) addon validates the document for CFDI 4.0, including third-party line data,
        * the minimal `tax.ext` only needs the place of issue (`mx-cfdi-issue-place`); `gobl build` fills in other CFDI extensions such as [`mx-cfdi-doc-type`](https://docs.gobl.org/addons/mx-cfdi-v4) and [`mx-cfdi-payment-method`](https://docs.gobl.org/addons/mx-cfdi-v4) (`PPD` in the built example), like other B2B invoices,
        * there are no totals in the minimal version; running `gobl build` calculates IVA, line sums, and totals,
        * the built version (`sat-third-party.mdx`) shows the normalized invoice with the third-party seller preserved on the line and full tax breakdown, and,
        * process it through the SAT workflow so the PAC can stamp the CFDI with the correct third-party relationship.

        <CodeGroup>
          ```json SAT third-party invoice theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$regime": "MX",
            "$addons": [
              "mx-cfdi-v4"
            ],
            "series": "LMC",
            "code": "002",
            "issue_time": "01:42:18",
            "tax": {
              "ext": {
                "mx-cfdi-issue-place": "26015"
              }
            },
            "supplier": {
              "name": "ESCUELA KEMPER URGATE",
              "tax_id": {
                "country": "MX",
                "code": "EKU9003173C9"
              },
              "ext": {
                "mx-cfdi-fiscal-regime": "601"
              }
            },
            "customer": {
              "name": "UNIVERSIDAD ROBOTICA ESPAÑOLA",
              "tax_id": {
                "country": "MX",
                "code": "URE180429TM6"
              },
              "addresses": [
                {
                  "code": "86991"
                }
              ],
              "ext": {
                "mx-cfdi-fiscal-regime": "601",
                "mx-cfdi-use": "G01"
              }
            },
            "lines": [
              {
                "quantity": "2",
                "item": {
                  "name": "Venta en consignación",
                  "price": "100.00",
                  "ext": {
                    "mx-cfdi-prod-serv": "50211502"
                  }
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "percent": "16.0%"
                  }
                ],
                "seller": {
                  "name": "XENON INDUSTRIAL ARTICLES",
                  "tax_id": {
                    "country": "MX",
                    "code": "XIA190128J61"
                  },
                  "addresses": [
                    {
                      "code": "76343"
                    }
                  ],
                  "ext": {
                    "mx-cfdi-fiscal-regime": "601"
                  }
                }
              }
            ]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "MX",
          	"$addons": [
          		"mx-cfdi-v4"
          	],
          	"type": "standard",
          	"series": "LMC",
          	"code": "002",
          	"issue_date": "2026-07-08",
          	"issue_time": "01:42:18",
          	"currency": "MXN",
          	"tax": {
          		"ext": {
          			"mx-cfdi-doc-type": "I",
          			"mx-cfdi-issue-place": "26015",
          			"mx-cfdi-payment-method": "PPD"
          		}
          	},
          	"supplier": {
          		"name": "ESCUELA KEMPER URGATE",
          		"tax_id": {
          			"country": "MX",
          			"code": "EKU9003173C9"
          		},
          		"ext": {
          			"mx-cfdi-fiscal-regime": "601"
          		}
          	},
          	"customer": {
          		"name": "UNIVERSIDAD ROBOTICA ESPAÑOLA",
          		"tax_id": {
          			"country": "MX",
          			"code": "URE180429TM6"
          		},
          		"addresses": [
          			{
          				"code": "86991"
          			}
          		],
          		"ext": {
          			"mx-cfdi-fiscal-regime": "601",
          			"mx-cfdi-use": "G01"
          		}
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "2",
          			"item": {
          				"name": "Venta en consignación",
          				"price": "100.00",
          				"ext": {
          					"mx-cfdi-prod-serv": "50211502"
          				}
          			},
          			"sum": "200.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"percent": "16.0%"
          				}
          			],
          			"total": "200.00",
          			"seller": {
          				"name": "XENON INDUSTRIAL ARTICLES",
          				"tax_id": {
          					"country": "MX",
          					"code": "XIA190128J61"
          				},
          				"addresses": [
          					{
          						"code": "76343"
          					}
          				],
          				"ext": {
          					"mx-cfdi-fiscal-regime": "601"
          				}
          			}
          		}
          	],
          	"totals": {
          		"sum": "200.00",
          		"total": "200.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"base": "200.00",
          							"percent": "16.0%",
          							"amount": "32.00"
          						}
          					],
          					"amount": "32.00"
          				}
          			],
          			"sum": "32.00"
          		},
          		"tax": "32.00",
          		"total_with_tax": "232.00",
          		"payable": "232.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="B2C invoice (Personas Físicas)">
        In this example, we're issuing a B2C invoice from a Mexican supplier to an individual customer (Persona Física).

        Notice:

        * the customer is identified as a Persona Física with their RFC and fiscal regime,
        * the minimal version contains only essential fields; calculations are handled by GOBL,
        * when running `gobl build`, the system automatically calculates totals, applies IVA (VAT), and normalizes the document according to SAT requirements,
        * the built version shows all calculated fields including tax breakdowns, line totals, and final amounts,
        * the [`mx-cfdi-v4`](https://docs.gobl.org/addons/mx-cfdi-v4) addon validates the document structure for Personas Físicas transactions, and,
        * the CFDI will be stamped by the PAC (Proveedor Autorizado de Certificación) after processing through the workflow.

        <CodeGroup>
          ```json SAT B2C Invoice theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$regime": "MX",
            "$addons": [
              "mx-cfdi-v4"
            ],
            "series": "XXMX",
            "tax": {
              "ext": {
                "mx-cfdi-issue-place": "44100"
              }
            },
            "supplier": {
              "uuid": "018fbeda-bc61-7000-b66d-398ce3e21c43",
              "name": "ESCUELA KEMPER URGATE",
              "tax_id": {
                "country": "MX",
                "code": "EKU9003173C9"
              },
              "addresses": [
                {
                  "street": "Julia Navarrete No. 1430",
                  "locality": "Guadalajara",
                  "region": "Jalisco",
                  "code": "44100",
                  "country": "MX"
                }
              ],
              "emails": [
                {
                  "addr": "esckemperugarte@example.com"
                }
              ],
              "ext": {
                "mx-cfdi-fiscal-regime": "601"
              }
            },
            "customer": {
              "name": "LUIS IAN ÑUZCO",
              "tax_id": {
                "country": "MX",
                "code": "IAÑL750210963"
              },
              "addresses": [
                {
                  "locality": "Ciudad de Mexico",
                  "region": "Ciudad de Mexico",
                  "code": "85256",
                  "country": "MX"
                }
              ],
              "ext": {
                "mx-cfdi-fiscal-regime": "616",
                "mx-cfdi-use": "S01"
              }
            },
            "lines": [
              {
                "quantity": "1",
                "item": {
                  "name": "Standard Plan",
                  "price": "500.00",
                  "ext": {
                    "mx-cfdi-prod-serv": "81112002"
                  }
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "rate": "standard"
                  }
                ]
              }
            ]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "MX",
          	"$addons": [
          		"mx-cfdi-v4"
          	],
          	"type": "standard",
          	"series": "XXMX",
          	"issue_date": "2026-07-08",
          	"issue_time": "08:51:26",
          	"currency": "MXN",
          	"tax": {
          		"ext": {
          			"mx-cfdi-doc-type": "I",
          			"mx-cfdi-issue-place": "44100",
          			"mx-cfdi-payment-method": "PPD"
          		}
          	},
          	"supplier": {
          		"uuid": "018fbeda-bc61-7000-b66d-398ce3e21c43",
          		"name": "ESCUELA KEMPER URGATE",
          		"tax_id": {
          			"country": "MX",
          			"code": "EKU9003173C9"
          		},
          		"addresses": [
          			{
          				"street": "Julia Navarrete No. 1430",
          				"locality": "Guadalajara",
          				"region": "Jalisco",
          				"code": "44100",
          				"country": "MX"
          			}
          		],
          		"emails": [
          			{
          				"addr": "esckemperugarte@example.com"
          			}
          		],
          		"ext": {
          			"mx-cfdi-fiscal-regime": "601"
          		}
          	},
          	"customer": {
          		"name": "LUIS IAN ÑUZCO",
          		"tax_id": {
          			"country": "MX",
          			"code": "IAÑL750210963"
          		},
          		"addresses": [
          			{
          				"locality": "Ciudad de Mexico",
          				"region": "Ciudad de Mexico",
          				"code": "85256",
          				"country": "MX"
          			}
          		],
          		"ext": {
          			"mx-cfdi-fiscal-regime": "616",
          			"mx-cfdi-use": "S01"
          		}
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"name": "Standard Plan",
          				"price": "500.00",
          				"ext": {
          					"mx-cfdi-prod-serv": "81112002"
          				}
          			},
          			"sum": "500.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "16.0%"
          				}
          			],
          			"total": "500.00"
          		}
          	],
          	"totals": {
          		"sum": "500.00",
          		"total": "500.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"base": "500.00",
          							"percent": "16.0%",
          							"amount": "80.00"
          						}
          					],
          					"amount": "80.00"
          				}
          			],
          			"sum": "80.00"
          		},
          		"tax": "80.00",
          		"total_with_tax": "580.00",
          		"payable": "580.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="Simplified invoice (Factura al público en general)">
        In this example, we're issuing a simplified invoice to the general public without specific customer details.

        Notice:

        * the customer is set to "Público en General" (RFC: XAXX010101000) as per SAT requirements for general public invoices,
        * the minimal version omits calculations; `gobl build` will handle all totals and tax computations,
        * when running `gobl build`, the system automatically calculates IVA, line totals, and applies the simplified invoice rules,
        * the built version shows the normalized document with all calculated fields and validations applied,
        * simplified invoices have specific requirements in CFDI 4.0, which are automatically validated by the addon, and,
        * these invoices are commonly used for retail transactions where customer identification is not required.

        <CodeGroup>
          ```json SAT Mexico simplified invoice theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$regime": "MX",
            "$addons": [
              "mx-cfdi-v4"
            ],
            "$tags": [
              "simplified"
            ],
            "series": "TEST",
            "code": "00001",
            "tax": {
              "ext": {
                "mx-cfdi-issue-place": "44100"
              }
            },
            "supplier": {
              "name": "ESCUELA KEMPER URGATE",
              "tax_id": {
                "country": "MX",
                "code": "EKU9003173C9"
              },
              "ext": {
                "mx-cfdi-fiscal-regime": "601"
              }
            },
            "lines": [
              {
                "quantity": "1",
                "item": {
                  "name": "Cobro por tarjetas",
                  "price": "10.00",
                  "ext": {
                    "mx-cfdi-prod-serv": "84141602"
                  }
                },
                "discounts": [
                  {
                    "percent": "10.0%",
                    "amount": "1.00"
                  }
                ],
                "taxes": [
                  {
                    "cat": "VAT",
                    "rate": "standard"
                  }
                ]
              },
              {
                "quantity": "1",
                "item": {
                  "name": "Porcentaje sobre GMV",
                  "price": "10.00",
                  "unit": "service",
                  "ext": {
                    "mx-cfdi-prod-serv": "80141628"
                  }
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "rate": "standard"
                  }
                ]
              }
            ],
            "payment": {
              "terms": {
                "notes": "Condiciones de pago"
              }
            }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "MX",
          	"$addons": [
          		"mx-cfdi-v4"
          	],
          	"$tags": [
          		"simplified"
          	],
          	"type": "standard",
          	"series": "TEST",
          	"code": "00001",
          	"issue_date": "2026-07-08",
          	"issue_time": "08:51:26",
          	"currency": "MXN",
          	"tax": {
          		"ext": {
          			"mx-cfdi-doc-type": "I",
          			"mx-cfdi-issue-place": "44100",
          			"mx-cfdi-payment-method": "PPD"
          		}
          	},
          	"supplier": {
          		"name": "ESCUELA KEMPER URGATE",
          		"tax_id": {
          			"country": "MX",
          			"code": "EKU9003173C9"
          		},
          		"ext": {
          			"mx-cfdi-fiscal-regime": "601"
          		}
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"name": "Cobro por tarjetas",
          				"price": "10.00",
          				"ext": {
          					"mx-cfdi-prod-serv": "84141602"
          				}
          			},
          			"sum": "10.00",
          			"discounts": [
          				{
          					"percent": "10.0%",
          					"amount": "1.00"
          				}
          			],
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "16.0%"
          				}
          			],
          			"total": "9.00"
          		},
          		{
          			"i": 2,
          			"quantity": "1",
          			"item": {
          				"name": "Porcentaje sobre GMV",
          				"price": "10.00",
          				"unit": "service",
          				"ext": {
          					"mx-cfdi-prod-serv": "80141628"
          				}
          			},
          			"sum": "10.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "16.0%"
          				}
          			],
          			"total": "10.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Condiciones de pago"
          		}
          	},
          	"totals": {
          		"sum": "19.00",
          		"total": "19.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"base": "19.00",
          							"percent": "16.0%",
          							"amount": "3.04"
          						}
          					],
          					"amount": "3.04"
          				}
          			],
          			"sum": "3.04"
          		},
          		"tax": "3.04",
          		"total_with_tax": "22.04",
          		"payable": "22.04"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="Global invoice">
        In this example, we're issuing a global invoice that summarizes multiple transactions from a specific period (daily, weekly, or monthly).

        Notice:

        * global invoices consolidate multiple sales to the general public into a single CFDI document,
        * the minimal version includes only essential fields; totals for all consolidated transactions are calculated by GOBL,
        * when running `gobl build`, the system aggregates line items, calculates total IVA, and applies global invoice-specific validations,
        * the built version shows the complete document with all calculated totals, tax summaries, and period information,
        * global invoices must be issued within specific timeframes as defined by SAT regulations, and,
        * these are commonly used by businesses with high volumes of small transactions to the general public.

        <CodeGroup>
          ```json SAT Mexico global invoice theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$addons": [
              "mx-cfdi-v4"
            ],
            "$tags": [
              "global"
            ],
            "series": "GLOBAL",
            "code": "0001",
            "tax": {
              "ext": {
                "mx-cfdi-global-month": "03",
                "mx-cfdi-global-period": "04",
                "mx-cfdi-global-year": "2025",
                "mx-cfdi-issue-place": "44100"
              }
            },
            "supplier": {
              "name": "ESCUELA KEMPER URGATE",
              "tax_id": {
                "country": "MX",
                "code": "EKU9003173C9"
              },
              "ext": {
                "mx-cfdi-fiscal-regime": "601"
              }
            },
            "lines": [
              {
                "quantity": "1",
                "item": {
                  "ref": "SALE1",
                  "name": "Sale 1",
                  "price": "10.00"
                },
                "discounts": [
                  {
                    "percent": "10.0%"
                  }
                ],
                "taxes": [
                  {
                    "cat": "VAT",
                    "rate": "standard"
                  }
                ]
              },
              {
                "quantity": "1",
                "item": {
                  "ref": "SALE2",
                  "name": "Sale 2",
                  "price": "20.00"
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "rate": "standard"
                  }
                ]
              }
            ],
            "payment": {
              "advances": [
                {
                  "key": "cash",
                  "description": "Prepaid",
                  "percent": "100%"
                }
              ]
            }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "MX",
          	"$addons": [
          		"mx-cfdi-v4"
          	],
          	"$tags": [
          		"global"
          	],
          	"type": "standard",
          	"series": "GLOBAL",
          	"code": "0001",
          	"issue_date": "2026-07-08",
          	"issue_time": "08:51:26",
          	"currency": "MXN",
          	"tax": {
          		"ext": {
          			"mx-cfdi-doc-type": "I",
          			"mx-cfdi-global-month": "03",
          			"mx-cfdi-global-period": "04",
          			"mx-cfdi-global-year": "2025",
          			"mx-cfdi-issue-place": "44100",
          			"mx-cfdi-payment-method": "PUE"
          		}
          	},
          	"supplier": {
          		"name": "ESCUELA KEMPER URGATE",
          		"tax_id": {
          			"country": "MX",
          			"code": "EKU9003173C9"
          		},
          		"ext": {
          			"mx-cfdi-fiscal-regime": "601"
          		}
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"ref": "SALE1",
          				"name": "Sale 1",
          				"price": "10.00"
          			},
          			"sum": "10.00",
          			"discounts": [
          				{
          					"percent": "10.0%",
          					"amount": "1.00"
          				}
          			],
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "16.0%"
          				}
          			],
          			"total": "9.00"
          		},
          		{
          			"i": 2,
          			"quantity": "1",
          			"item": {
          				"ref": "SALE2",
          				"name": "Sale 2",
          				"price": "20.00"
          			},
          			"sum": "20.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "16.0%"
          				}
          			],
          			"total": "20.00"
          		}
          	],
          	"payment": {
          		"advances": [
          			{
          				"key": "cash",
          				"description": "Prepaid",
          				"percent": "100%",
          				"amount": "33.64",
          				"ext": {
          					"mx-cfdi-payment-means": "01"
          				}
          			}
          		]
          	},
          	"totals": {
          		"sum": "29.00",
          		"total": "29.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"base": "29.00",
          							"percent": "16.0%",
          							"amount": "4.64"
          						}
          					],
          					"amount": "4.64"
          				}
          			],
          			"sum": "4.64"
          		},
          		"tax": "4.64",
          		"total_with_tax": "33.64",
          		"payable": "33.64",
          		"advance": "33.64",
          		"due": "0.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="Credit note">
        In this example, we're issuing a credit note (nota de crédito) to correct, cancel, or refund a previously issued invoice.

        Notice:

        * the `type` field is set to `credit-note` to indicate this is a corrective document,
        * the `preceding` field contains references to the original invoice(s) being corrected with the relationship type,
        * the minimal version includes only essential correction details; `gobl build` calculates the negative amounts,
        * when running `gobl build`, the system automatically calculates negative totals, tax refunds, validates the relationship with the original invoice, and applies CFDI credit note rules,
        * the built version shows all calculated fields including negative amounts for the refund and proper tax adjustments,
        * credit notes must be properly linked to the original CFDI using the UUID and relationship type, and,
        * the PAC will validate the credit note against the original invoice before stamping.

        <CodeGroup>
          ```json SAT Mexico credit note theme={"system"}
          {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$addons": [
              "mx-cfdi-v4"
            ],
            "type": "credit-note",
            "series": "CN",
            "code": "0003",
            "preceding": [
              {
                "series": "TEST",
                "code": "0001",
                "issue_date": "2023-07-10",
                "stamps": [
                  {
                    "prv": "sat-uuid",
                    "val": "1fac4464-1111-0000-1111-cd37179db12e"
                  }
                ]
              }
            ],
            "supplier": {
              "name": "ESCUELA KEMPER URGATE",
              "tax_id": {
                "country": "MX",
                "code": "EKU9003173C9"
              },
              "addresses": [
                {
                  "street": "Julia Navarrete No. 1430",
                  "locality": "Guadalajara",
                  "region": "Jalisco",
                  "code": "44100",
                  "country": "MX"
                }
              ],
              "ext": {
                "mx-cfdi-fiscal-regime": "615"
              }
            },
            "customer": {
              "name": "UNIVERSIDAD ROBOTICA ESPAÑOLA",
              "tax_id": {
                "country": "MX",
                "code": "URE180429TM6"
              },
              "addresses": [
                {
                  "locality": "Ciudad de Mexico",
                  "region": "Ciudad de Mexico",
                  "code": "86991",
                  "country": "MX"
                }
              ],
              "ext": {
                "mx-cfdi-fiscal-regime": "624",
                "mx-cfdi-use": "G01"
              }
            },
            "lines": [
              {
                "quantity": "2",
                "item": {
                  "name": "Cigarros",
                  "ext": {
                    "mx-cfdi-prod-serv": "50211502"
                  },
                  "price": "100.1010",
                  "unit": "piece"
                },
                "taxes": [
                  {
                    "cat": "VAT",
                    "rate": "standard"
                  }
                ]
              }
            ],
            "payment": {
              "terms": {
                "notes": "Pago a 30 días."
              }
            }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "MX",
          	"$addons": [
          		"mx-cfdi-v4"
          	],
          	"type": "credit-note",
          	"series": "CN",
          	"code": "0003",
          	"issue_date": "2026-07-08",
          	"issue_time": "08:53:24",
          	"currency": "MXN",
          	"preceding": [
          		{
          			"issue_date": "2023-07-10",
          			"series": "TEST",
          			"code": "0001",
          			"stamps": [
          				{
          					"prv": "sat-uuid",
          					"val": "1fac4464-1111-0000-1111-cd37179db12e"
          				}
          			]
          		}
          	],
          	"tax": {
          		"ext": {
          			"mx-cfdi-doc-type": "E",
          			"mx-cfdi-issue-place": "44100",
          			"mx-cfdi-payment-method": "PPD",
          			"mx-cfdi-rel-type": "01"
          		}
          	},
          	"supplier": {
          		"name": "ESCUELA KEMPER URGATE",
          		"tax_id": {
          			"country": "MX",
          			"code": "EKU9003173C9"
          		},
          		"addresses": [
          			{
          				"street": "Julia Navarrete No. 1430",
          				"locality": "Guadalajara",
          				"region": "Jalisco",
          				"code": "44100",
          				"country": "MX"
          			}
          		],
          		"ext": {
          			"mx-cfdi-fiscal-regime": "615"
          		}
          	},
          	"customer": {
          		"name": "UNIVERSIDAD ROBOTICA ESPAÑOLA",
          		"tax_id": {
          			"country": "MX",
          			"code": "URE180429TM6"
          		},
          		"addresses": [
          			{
          				"locality": "Ciudad de Mexico",
          				"region": "Ciudad de Mexico",
          				"code": "86991",
          				"country": "MX"
          			}
          		],
          		"ext": {
          			"mx-cfdi-fiscal-regime": "624",
          			"mx-cfdi-use": "G01"
          		}
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "2",
          			"item": {
          				"name": "Cigarros",
          				"price": "100.1010",
          				"unit": "piece",
          				"ext": {
          					"mx-cfdi-prod-serv": "50211502"
          				}
          			},
          			"sum": "200.2020",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "16.0%"
          				}
          			],
          			"total": "200.2020"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Pago a 30 días."
          		}
          	},
          	"totals": {
          		"sum": "200.20",
          		"total": "200.20",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"base": "200.20",
          							"percent": "16.0%",
          							"amount": "32.03"
          						}
          					],
          					"amount": "32.03"
          				}
          			],
          			"sum": "32.03"
          		},
          		"tax": "32.03",
          		"total_with_tax": "232.23",
          		"payable": "232.23"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>

    Copy and paste these documents into the [GOBL builder](https://build.gobl.org) in order to preview and verify them.
  </Tab>
</Tabs>

***

<AccordionGroup>
  <Accordion title="🇲🇽 Invopop resources for Mexico">
    |            |                                                                                                                                                                                                                                                                                                 |
    | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Compliance | <Icon icon="https://assets.invopop.com/flags/mx.svg" /> [Invoicing compliance in Mexico](/compliance/mexico)<br /> <Icon icon="timeline" /> [Compliance timeline](/timelines/mexico)                                                                                                            |
    | Apps       | <Icon icon="https://assets.invopop.com/apps/sat-mexico/icon.svg" /> [SAT Mexico](/apps/sat-mexico)<br /> <Icon icon="https://assets.invopop.com/apps/sw-sapien/icon.svg" /> [SW Sapien](/apps/sw-sapien)<br /> <Icon icon="https://assets.invopop.com/apps/cron/icon.svg" /> [Cron](/apps/cron) |
    | Guides     | <Icon icon="book" /> [Issuing invoices](/guides/mx-sat-issuing)<br /> <Icon icon="book" /> [Receiving invoices](/guides/mx-sat-receiving)                                                                                                                                                       |
    | FAQ        | <Icon icon="square-question" /> [Mexico FAQ](/faq/mexico)                                                                                                                                                                                                                                       |
    | GOBL       | <Icon icon="https://assets.invopop.com/icons/gobl.svg" />  [Mexico Tax Regime](https://docs.gobl.org/regimes/mx)<br /> <Icon icon="https://assets.invopop.com/icons/gobl.svg" /> [Mexican SAT CFDI Addon](https://docs.gobl.org/addons/mx-cfdi-v4)                                              |
    | GitHub     | <Icon icon="github" /> [gobl.cfdi](https://github.com/invopop/gobl.cfdi)                                                                                                                                                                                                                        |
  </Accordion>
</AccordionGroup>

<Card title="Participate in our community" icon="square-question" horizontal href="https://community.invopop.com">
  Ask and answer questions about SAT Mexico App →
</Card>
