RFC

Get and validate the RFC with the SAT

Get the RFC with its homoclave from a person’s or a company’s details. Validate with the SAT whether it is on the taxpayer registry. The answer arrives in seconds.

Individuals and companies
Checked against the SAT registry
Answer in the same request
Free to try

RFC retrieval and validation

One returns the RFC from a person’s or a company’s details. The other confirms its standing on the registry.

Full name and date of birthRFC with homoclave

Getting the RFC

From the full name and date of birth, the SAT returns an individual’s RFC with its homoclave. For a company it runs on the legal name and the incorporation date.

RFCThe SAT verdict

Validation with the SAT

The query goes to the SAT validator. It returns whether that RFC is on the registry and whether it can be invoiced, both for a freshly obtained RFC and for one captured in your form.

Validation with the SAT

Validation returns the status exactly as the SAT holds it.

Singula queries the SAT taxpayer registry and confirms whether the RFC is registered and under which status. The verdict comes back in the same query.

SAT registry
the source behind every verdict
Seconds
per validation, capped at 30
Same request
query and verdict travel together
13
Characters
Individual
PEGJ
4 · From the name
900101
6 · Date of birth
XXX
3 · Homoclave from the SAT

The homoclave is assigned by the SAT and only the registry confirms whether it corresponds.

How it works

From a captured RFC to the SAT verdict.

Step 1

You send the RFC

Send the RFC to validate, or the query takes it from the customer file if it is already stored. A malformed RFC returns an error before the SAT is queried.

Step 2

Singula queries the SAT

Singula sends the RFC to the SAT validator.

Step 3

You get the verdict

The request stays open until the SAT answers. The verdict returns with the receipt number of the query.

What comes back

The SAT answer, plus the receipt number you can trace the query with later.

The SAT verdict

Indicates whether the SAT recognises the RFC you queried.

Example true

API field: data.isValid · boolean
On the taxpayer registry

Whether that RFC is registered as a taxpayer and can be invoiced.

Example true

API field: data.registered · boolean
The SAT message

The sentence the SAT answered, word for word.

Example RFC válido, y susceptible de recibir facturas

API field: data.message · string
State of the query

Indicates whether the query reached a verdict or is still in progress because the SAT has not answered yet.

Example success

API field: status · string
Receipt number

A unique identifier to audit the query or retrieve the full answer later.

Example req_9c4b2ad17e

API field: request_id · string

The SAT validator answers about the RFC’s standing on the registry. Tax regime and fiscal address are not part of this response; they come in the Constancia de Situación Fiscal, which the taxpayer downloads with their e.firma.

Where this lands in your operation

Four points in the operation where the RFC query runs.

Vendor onboarding

The query confirms with the SAT that the vendor’s RFC is on the registry before onboarding.

Invoicing customers

Validation runs while the person is still on the form and confirms whether the captured RFC can be invoiced.

Compliance file

Every query stays in the customer file, with its date, its receipt number and the text the SAT answered.

Reviewing existing records

The same validation runs on the RFCs already stored in your system. The response indicates which ones are still on the registry.

What you do with each answer

The two SAT answers and the validations that complement the query.

The RFC is registered and can be invoiced

The positive verdict stays in the customer file, with its receipt number and its date.

The RFC does not come back registered

The negative verdict arrives with the SAT message verbatim and the receipt number of the query. The query can run again with the corrected number.

Name and date cross-check

CURP validation against RENAPO returns the registered name and date of birth, and how closely they match what was captured.

Identity confirmation

Identity verification compares the face on a selfie against the government ID, in the same customer file.

A later re-check

Every query is dated in the file. The same RFC can be validated again and both answers stay recorded with their receipt numbers.

Integration details

Individuals and companies

13 characters for individuals, 12 for companies. Validation takes both.

File and score

The query runs from the customer file and the result is reflected in their risk score.

Sandbox

Sandbox answers are mocked and consume no balance.

API

Everything runs through the API.

Every operation on this page runs as an API call. The full field-by-field reference is in the documentation.

  • Use it directly (the value in the body) or on a customer file. Same response.
rfc-validate.sh
curl -X POST https://api.singula.mx/app/rfc/validate \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"rfc": "GARM900315AB1"}'

→ {
    "request_id": "6622f8a1c1d2e3f4a5b6c7d8",
    "status": "success",
    "data": {
      "message": "RFC válido, y susceptible de recibir facturas.",
      "isValid": true,
      "registered": true
    }
  }

Frequently asked questions

From the SAT. The query sends the person’s or the company’s details and the SAT returns the RFC with its homoclave. Validation queries the same source and answers whether the RFC is on the registry.

Yes. For companies the query starts from the legal name and the incorporation date. Validation accepts 12- and 13-character RFCs.

The negative verdict with the SAT message verbatim and the receipt number of the query. The query can run again with the corrected number.

A few seconds, capped at 30. If the SAT takes longer, the query comes back as in progress and the result is retrieved later with its receipt number.

No. The result arrives inside the same request. Longer-running products, such as identity verification or INE validation, do notify when they finish.

Validate the RFC from your product

Create an account and run the whole flow in the sandbox, free of charge.

Create free account