Electronic Invoicing in Mexico
Mexico’s Tax Administration Service (SAT) requires businesses to issue electronic invoices for their transactions. Zoho Billing partners with an Authorized Certification Provider (PAC) to help you generate CFDIs that comply with SAT requirements and get them stamped before you send them to your customers.
What is a CFDI?
A CFDI (Comprobante Fiscal Digital por Internet) is a digital tax receipt that complies with SAT invoicing requirements and serves as a legally valid tax document. When you create a transaction in Zoho Billing, the system generates the required XML and PDF files with the mandatory fields specified by the SAT. Once your PAC stamps the CFDI, the SAT assigns it a unique UUID (Folio Fiscal) and a QR code, both of which are added to the transaction before it’s sent to your customer.
Note: Zoho Billing supports CFDI 4.0, the version of the CFDI (Comprobante Fiscal Digital por Internet) standard that has been in effect in Mexico since 1 January 2022.
How E-Invoicing Works in Zoho Billing
Here’s how e-invoicing works in Zoho Billing:
Stamping Transactions
- When you create an invoice, credit note, or record a customer payment, it is saved without a CFDI until you stamp it through your PAC.
- Your PAC validates the transaction and stamps it. The SAT then assigns it a unique UUID and generates a QR code for the CFDI.
- You can share the stamped transaction with your customer as a PDF or an XML file.
Handling Failed Transactions
- If a transaction fails to be stamped, it’s status changes to Failed and the reason for the failure is displayed. You can correct the transaction and stamp it again.
Cancelling Stamped Transactions
- You can request the cancellation of a stamped CFDI if it contains incorrect information. Depending on the reason you select, the request may need to be accepted by your customer before it’s completed. Learn more about cancelling a CFDI.
Set Up E-Invoicing in Zoho Billing
Prerequisite: You can set up e-invoicing only if you’ve enabled taxes in your Zoho Billing organisation.
Setting up e-invoicing in Zoho Billing is a one-time process that also requires you to connect your organisation with a PAC. Here’s how you can set it up:
- Go to Settings.
- Select Electronic Invoicing under Taxes & Compliance in the Organization Settings pane.
- Slide the toggle next to Electronic Invoicing in Zoho Billing to enable electronic invoicing.
E-invoicing is now enabled for your organisation. Next, connect your organisation to your PAC by uploading your Digital Seal Certificate:
- Read and accept the terms and conditions and mark Accept & Continue.
- Click Digital Seal Certificate and a popup appears:
Upload your CSD Certificate File and your Private Key File.
Note: Each file must be less than 5 MB.Enter your Digital Seal Password.
Mark the checkbox to accept the statement.
Click Save.
Your Zoho Billing organisation is now connected to your PAC.
Required Fields for CFDI
The SAT requires certain fields to generate a CFDI. You must enter some of these fields manually when you create transactions in Zoho Billing, while others are filled in automatically using your organisation’s details.
| Module | Required Fields |
|---|---|
| Item Creation | SAT Item Code, SAT Unit Code |
| Customer Creation | Tax Regime, Legal Business Name |
| Invoice Creation | CFDI Reference Type, CFDI Usage |
| Record Payment for Invoices | Payment Form |
| Payment Received | Payment Form |
| Subscriptions | CFDI Usage, Payment Form |
| Credit Notes | Payment Form, CFDI Reference Type, CFDI Usage |
Stamp Transactions via PAC
After creating an invoice, credit note, or customer payment, stamp the transaction through your PAC to generate a valid CFDI. Once the transaction is stamped, the SAT assigns it a unique UUID.
To stamp a transaction:
- Go to Invoices under Sales.
- Select the transaction you want to stamp.
- On the transaction’s Details page, click Stamp Invoice.
- In the confirmation popup, click Yes, Stamp Invoice.
The transaction is submitted to your PAC for stamping. Once it’s stamped successfully, its status changes from Yet To Be Validated to Validated, and the SAT assigns it a unique UUID and generates a QR code for the CFDI.
Note: To download a CFDI as a PDF or XML file, go to Sales, select a module, and select the stamped transaction. Click the PDF/Print dropdown and select the required option. The PDF also includes the SAT Digital Seal, the CFDI Digital Seal, and the Original String at the bottom of the document.
Statuses of Transactions in E-Invoicing
CFDIs move through different statuses as they’re stamped and processed by the SAT.
| Status | Description |
|---|---|
| Yet To Be Validated | The transaction has been created but hasn’t yet been stamped by the PAC. A CFDI hasn’t been generated for the transaction. |
| Validated | The PAC has stamped the transaction correctly and the SAT has assigned it a UUID. |
| Failed | An error occurred while stamping the transaction, so the CFDI wasn’t generated. |
| Cancellation Requested | A request to cancel the stamped transaction has been sent to the SAT and is pending processing. |
| Cancelled | The stamped transaction has been cancelled in both Zoho Billing and the SAT. The UUID associated with the CFDI is no longer valid. |
You can filter transactions based on these statuses from the module’s list view.
Allow Users To Stamp and Cancel Invoices
After connecting your organisation to your PAC, you can decide which users can stamp and cancel CFDIs. For example, if only your sales team should submit transactions to the SAT and cancel them when necessary, you can grant this permission only to those users.
Here’s how:
- Go to Settings.
- Select Roles under Users & Roles in the Organization Settings pane.
- Create a new role or edit an existing one.
- Mark Stamp and Cancel Transactions under e-Invoicing to allow users with this role to stamp and cancel invoices.
- Click Save.
Note: The Stamp and Cancel Transactions permission is enabled by default for admins of the organization.
Cancel a CFDI
Cancel a CFDI if it contains incorrect information and you want to mark it as void.
To request the cancellation of a CFDI:
- Go to Invoices under Sales.
- Select the transaction you want to cancel.
- On the transaction’s Details page, click Request Cancellation.
- In the Request Cancellation popup, click the Reason dropdown and select an option:
Select Voucher Issued With Errors In Relation if the transaction contains incorrect information and needs to be replaced by a new CFDI. Enter the Reissued UUID of the new stamped transaction created with the corrected information.
Note: Create and stamp the new transaction before requesting the cancellation, then use its UUID as the Reissued UUID.Select Voucher Issued With Unrelated Errors if the transaction contains incorrect information and doesn’t need to be related to another CFDI.
Select The Transaction Was Not Carried Out if the electronic invoice transaction wasn’t carried out.
Select Nominative Transaction Related To The Global Invoice if a sale was included in a global invoice for transactions with the general public and the customer has since requested a nominative invoice. This requires cancelling the global invoice, reissuing it, and generating the nominative invoice.
- Click Request Cancellation.
After you submit the cancellation request, the CFDI status of the transaction changes from Validated to Cancellation Requested.
The cancellation process depends on the type determined by the SAT:
- Cancellation Without Acceptance: The SAT processes the cancellation request directly. Once it’s complete, click Sync SAT Status on the transaction’s Details page to update the CFDI status in Zoho Billing to Cancelled.
- Cancellation With Acceptance: A cancellation request is sent to the recipient of the electronic invoice, who has three days to accept or reject it.
- If the recipient accepts the request, the acceptance is recorded in the Activity tab of the transaction’s Details page. You can then click Sync SAT Status to update the CFDI status in Zoho Billing to Cancelled.
- If the recipient rejects the request or doesn’t respond within three days, the CFDI status reverts to Validated. You can send another cancellation request if required.
Once the CFDI status changes to Cancelled, the transaction in Zoho Billing automatically moves to Void status.