# Pull your CFDI from the SAT portal into your systems

> Read your received and issued CFDI from the SAT portal with one API call: folio fiscal, RFC, total and Estado del Comprobante (status). A workflow can post each day's new received invoices to accounting and list the cancellation requests you must answer.

Page: https://fous.com/automate/portal-del-sat-factura-electronica
Updated: 2026-11-12

Works with your own Portal del SAT (Factura Electrónica) account. Fous is an independent product.

## What you can build on the SAT portal

### Get received invoices

Searches Consultar Facturas Recibidas (received invoices) by a range of Fecha de Emisión (issue date) and reads each CFDI in the result list.

- Takes: Start date, end date, RFC Emisor (optional), Estado del Comprobante (optional)
- Returns: Folio fiscal, RFC and name of the issuer, issue date, certification date, total, efecto, Estado del Comprobante

### Check issued invoices and their cancellation

Searches Consultar Facturas Emitidas (issued invoices) by folio fiscal or date range and reads whether each CFDI is cancelable and where its cancellation stands.

- Takes: Folio fiscal, or start date and end date, RFC Receptor (optional)
- Returns: Folio fiscal, RFC and name of the receiver, total, Es Cancelable, Estado del Comprobante, Estatus de Proceso de Cancelación, cancellation reason and date

### List cancellation requests to answer

Reads Consultar Solicitudes de Cancelación (cancellation requests): the invoices your suppliers asked to cancel, which wait for you to accept or reject.

- Takes: Nothing
- Returns: Folio fiscal, RFC and name of the issuer, Efecto del Comprobante

### Request a metadata download

Searches issued or received CFDI by date range, selects them and presses Descargar Metadata, then returns the Folio de Descarga (download number) to collect later.

- Takes: Issued or received, start date, end date
- Returns: Folio de Descarga, message shown, request time

## Automate the SAT portal with a workflow

A [workflow](/product/workflows) runs your methods as one process, with nobody at the screen. A schedule or a call from your own system starts it, the steps run in order, and the result arrives in your inbox or in the systems you already use.

### New received CFDI, posted to accounting each morning

Starts: Every weekday at 7:00, Mexico City time

1. Get the received invoices with a Fecha de Emisión in the last 7 days.
2. Keep the CFDI that were not there on the last run.
3. Post folio fiscal, issuer RFC and name, issue date, total and efecto to your ERP webhook.

### Cancellation requests waiting for your answer

Starts: Every weekday at 9:00, Mexico City time

1. List the requests in Consultar Solicitudes de Cancelación.
2. Keep the requests that were not there on the last run.
3. Email you each folio fiscal with the issuer's RFC and name, so accounts payable can decide in time.

### Issued invoices newly cancelled, sent to billing

Starts: Every Monday at 8:00, Mexico City time

1. Check the issued invoices of the last 30 days and their cancellation status.
2. Keep the CFDI whose Estado del Comprobante changed since the last run.
3. Post folio fiscal, receiver RFC, total, status and cancellation reason to your billing webhook.

You can run a workflow by hand on every plan, Free included. Schedules and webhook triggers come with the paid plans, from $29 a month.

## Once built, one call from your code

Once you have built a [method](/product/methods), it is one POST to /v1/runs from your backend, or a tool an AI agent calls over MCP. This is what “Get received invoices” would look like.

Example request:

```
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "portalcfdi.facturaelectronica.sat.gob.mx/get_received_invoices",
    "input": {
      "start_date": "2026-11-10",
      "end_date": "2026-11-11",
      "estado_comprobante": "Vigente"
    }
  }'
```

Example response:

```
{
  "status": "completed",
  "data": {
    "rfc_receptor": "AME0807154T2",
    "invoices": [
      {
        "folio_fiscal": "6F2A91C4-3B7D-4E10-9A55-1C8E0D7B2F31",
        "rfc_emisor": "NOR1203145K9",
        "nombre_emisor": "Northwind Distribución SA de CV",
        "fecha_emision": "2026-11-10T16:42:08",
        "fecha_certificacion": "2026-11-10T16:42:31",
        "total": 48720,
        "efecto": "Ingreso",
        "estado_comprobante": "Vigente"
      }
    ],
    "count": 1
  }
}
```

An example with invented data, not a ready-made endpoint. The method exists in your organization once you build it, and its name, inputs and fields follow your request.

## The SAT portal’s own options

The SAT offers a web service for mass download of CFDI and metadata. It is a SOAP service that only the issuer or receiver can use, authenticated with their e.firma (FIEL) certificate, and requests are answered asynchronously. Cancellations, status checks and answers to cancellation requests also go through authorised certification providers (PAC), one by one or in bulk.

| Option | What it covers | What it takes |
| --- | --- | --- |
| Descarga masiva web service | Requests, checks and downloads XML and metadata of issued and received CFDI: up to 200,000 records a request and 1,000,000 in metadata. | The issuer's or receiver's e.firma (FIEL) certificate and a SOAP client built from the SAT's WSDL, with WS-Security. |
| Proveedor de certificación (PAC) | Cancellation requests, status checks, acceptance or rejection of cancellations and related-document lookups, one by one or in bulk. | The services of a proveedor de certificación. |
| The SAT portal by hand | Consultar Facturas Emitidas and Recibidas: the first 500 CFDI a search, up to 2,000 XML a day and up to 1,000,000 metadata records. | Your RFC with Contraseña, or your e.firma. |

Read on November 12, 2026: [Consulta y recuperación de comprobantes](https://wwwmat.sat.gob.mx/consultas/42968/consulta-y-recuperacion-de-comprobantes-(nuevo)), [Servicio de Solicitud de Descarga Masiva, version 1.2](https://wwwmat.sat.gob.mx/cs/Satellite?blobcol=urldata&blobkey=id&blobtable=MungoBlobs&blobwhere=1461175195160&ssbinary=true), [Cancelación de facturas](https://wwwmat.sat.gob.mx/consultas/91447/nuevo-esquema-de-cancelacion).

## Signing in to the SAT portal

The SAT portal signs you in with your RFC and Contraseña (formerly CIEC), or with your e.firma: the .cer certificate, the .key private key and its password. Cancelling an invoice also asks you to sign with your e.firma or Certificado de Sello Digital. With Fous you sign in once through the portal's own sign-in with your own account, and the login is sealed with AES-256. When a session expires, Fous signs back in.

## Worth knowing

- **500 results a search, 2,000 XML a day**: A search shows only the first 500 CFDI. You can recover up to 2,000 XML a day and up to 1,000,000 metadata records, so search long periods in shorter date ranges.
- **Downloads are asynchronous**: Descargar Seleccionados and Descargar Metadata return a Folio de Descarga. The SAT takes up to 48 hours to prepare the package, which you collect in Recuperar Descargas de CFDI for 72 hours.
- **Three business days to answer a cancellation**: When a cancellation needs your acceptance, you have three business days to accept or reject it. With no answer, the invoice is cancelled, unless the issuer is asking for the second time.
- **Cancelled CFDI XML is for the issuer only**: Only the issuer can download the XML of a CFDI in Cancelado status. Metadata downloads include cancelled CFDI for both sides.

## More in Government: Latin America

- [Mis Comprobantes](https://fous.com/automate/mis-comprobantes.md)
- [Facturación Electrónica DIAN](https://fous.com/automate/facturacion-electronica-dian.md)
- [Simplificación Registral](https://fous.com/automate/simplificacion-registral.md)
- [ARCA - servicios con Clave Fiscal](https://fous.com/automate/arca-servicios-con-clave-fiscal.md)
- [Portal Empresarial INFONAVIT](https://fous.com/automate/portal-empresarial-infonavit.md)
- [SIFERE Web](https://fous.com/automate/sifere-web.md)
- [Declaración en Línea (F.931)](https://fous.com/automate/declaracion-en-linea-f-931.md)
- [AFPnet](https://fous.com/automate/afpnet.md)
- [ARBA](https://fous.com/automate/arba.md)
- [SEACE](https://fous.com/automate/seace.md)
- [SECOP II](https://fous.com/automate/secop-ii.md)
- [BPS Servicios en Línea](https://fous.com/automate/bps-servicios-en-linea.md)
- [IESS - Portal de Empleadores](https://fous.com/automate/iess-portal-de-empleadores.md)
- [Oficina Virtual CCSS (SICERE)](https://fous.com/automate/oficina-virtual-ccss-sicere.md)
- [SUIR](https://fous.com/automate/suir.md)
- [Previred](https://fous.com/automate/previred.md)
- [Aportes en Línea](https://fous.com/automate/aportes-en-linea.md)
- [SOI](https://fous.com/automate/soi.md)
- [SIPARE](https://fous.com/automate/sipare.md)
- [DGI Servicios en Línea](https://fous.com/automate/dgi-servicios-en-linea.md)
- [e-Tax 2.0](https://fous.com/automate/e-tax-2-0.md)
- [Agencia Virtual SAT](https://fous.com/automate/agencia-virtual-sat.md)
- [Oficina Virtual DGII](https://fous.com/automate/oficina-virtual-dgii.md)
- [SII (Mi SII)](https://fous.com/automate/sii-mi-sii.md)
- [SRI en Línea](https://fous.com/automate/sri-en-linea.md)
- [SUNAT Operaciones en Línea (SOL)](https://fous.com/automate/sunat-operaciones-en-linea-sol.md)
- [TRIBU-CR](https://fous.com/automate/tribu-cr.md)
- [Declaraciones y Pagos (SAT)](https://fous.com/automate/declaraciones-y-pagos-sat.md)
- [DIAN MUISCA](https://fous.com/automate/dian-muisca.md)

Other industries: [SARS eFiling](/automate/sars-efiling), [EUDR Information System](/automate/eudr-information-system), [Companies House WebFiling](/automate/companies-house-webfiling), [Florida Courts E-Filing Portal](/automate/florida-courts-e-filing-portal), [VA LGY Hub](/automate/va-lgy-hub), [IRS Tax Pro Account](/automate/irs-tax-pro-account).

## Frequently asked questions

### Does the Portal del SAT (Factura Electrónica) have an API?

Yes, for downloads. The SAT's descarga masiva web service is a SOAP service that requests and downloads the XML and metadata of your CFDI, authenticated with your e.firma certificate. Cancellations and status checks also go through authorised certification providers (PAC).

### Why does the SAT portal show only 500 invoices?

Each search on the portal shows the first 500 CFDI. You can still recover up to 2,000 XML a day and up to 1,000,000 metadata records, so search shorter date ranges or request the metadata, which the SAT prepares within 48 hours.

### How long do I have to accept or reject a cancellation request?

Three business days from when you receive it. You are told through your Buzón Tributario, and you answer in Consultar Solicitudes de Cancelación or through a PAC. If you do not answer a first request, the invoice is cancelled.

### What does the CFDI metadata contain?

The folio fiscal, RFC and name of the issuer and receiver, issue and certification dates, the certifying PAC, total, efecto, the status of the CFDI and its cancellation date if it has one. It comes as a .txt file delimited by ~.

### Is Fous affiliated with the Servicio de Administración Tributaria (SAT)?

No. Fous is an independent product. You use it with your own SAT portal account, and a method reads and does only what that account can.

Fous is an independent product: it is not affiliated with, endorsed by or sponsored by the operator of Portal del SAT (Factura Electrónica) (Servicio de Administración Tributaria (SAT)). The name is used only to say which system this page is about. Something here wrong or out of date? Write to legal@fous.com.
