Skip to main content

Mexican RFC Database Check

In Mexico, the RFC is a unique tax identification number assigned to individuals and companies. It is issued by the tax authority and is commonly used for financial and legal purposes.

Jumio’s RFC Data Check verifies the provided RFC by querying the Servicio de Administración Tributaria (SAT), the official government authority responsible for issuing and maintaining RFC records. Also, this checks the data against official records. The verification confirms:

  • Whether the RFC is valid
  • Whether it belongs to the provided individual or company This check is based on user-provided data, as RFC is not available on standard identity documents.

Use Case

This check is useful for verifying tax identification data in Mexico. It can be used:

  • As a standalone check
  • Alongside other Mexico-specific checks to improve overall verification accuracy

How Does it Work?

  • Data Collection - The RFC is provided by the user or passed by the customer system.
  • Data Submission - The RFC is sent to Jumio for validation.
  • Verification with Servicio de Administración Tributaria (SAT) through our partner, Jumio, sends the request to FIMPE, which validates the RFC against official records. Based on the response, a match or no-match result is returned.

Supported Credentials

The following values can be uploaded as prepared data.

KeyTypeMandatoryDescription
address.countrystringyesCountry should be MEX
id.idNumberstringyesRFC ID number
id.typestringyesType of national ID

Example Request

{
"address": {
"country": "MEX"
},
"id": {
"idNumber": "AAZA*0**2**",
"type": "ID_CARD"
}
}

Response

Response data is available for transactions that include the risk signal. For information on transaction data, see Viewing or Retrieving Workflow Transactions.

Example Success Response

{
"govtIdVerification": [
{
"id": "12345-abcde-67890",
"credentials": [
{
"id": "cred-12345",
"category": "DATA"
}
],
"decision": {
"type": "PASSED",
"details": {
"label": "OK"
}
},
"data": {
"nationalIdMatch": "MATCH",
"reasonMessage": "Valid RFC, eligible to receive invoices",
"entityType": "PERSON (Fisica)"
}
}
]
}

Example Rejection Response

{
"capabilities": {
"govtIdVerification": [
{
"id": "84aea756-4935-4187-b270-3d4b8d76345b",
"credentials": [
{
"id": "47ba6e43-fbdc-4e50-8f26-3158e0ebc734",
"category": "DATA"
}
],
"decision": {
"type": "REJECTED",
"details": {
"label": "DENY"
}
},
"data": {
"nationalIdMatch": "NOT_MATCH",
"reasonMessage": "RFC is not in the list of non-cancelled RFCs"
}
.....
}
......
]
}
}

Credentials

KeyTypeDescription
idstringUUID of the credential used
categorystringCategory of credentials used

Decision Details Labels

Decision TypeLabelDescription
PASSEDOKRFC is valid and matches records
REJECTEDDENYRFC is invalid or does not match
NOT_EXECUTEDTECHNICAL_ERRORThe check could not be completed

Data

KeyTypeDescription
entityTypestringType of RFC: Individual (Persona Fisica) or Company (Persona Moral)
nationalIdMatchstring"MATCH", "NOT_MATCH": Indicates the match status of the ID. National ID may not always be supported in all countries
reasonMessagestringDetailed message for success or failure cases. See the table below for examples (e.g., valid RFC, invalid format, etc.)

Data - reasonMessage

DecisionMessageDescription
PASSEDValid RFC, eligible to receive invoicesRFC is valid and can be used for invoicing
REJECTEDRFC not registered in the taxpayer registryRFC does not exist in the official records
REJECTEDRFC is not in the list of non-canceled RFCsRFC is canceled or inactive
REJECTEDRFC with invalid formatRFC format is incorrect
NOT_EXECUTEDAuthentication errorFailed due to authentication issues
NOT_EXECUTEDEncryption errorEncryption-related failure
NOT_EXECUTEDInsufficient permissionsAccess rights are not sufficient
NOT_EXECUTEDIncorrect dataProvided data is incorrect
NOT_EXECUTEDIncorrect data formatData format does not meet requirements
NOT_EXECUTEDReference already registeredDuplicate reference detected
NOT_EXECUTEDDatabase execution errorInternal database processing failure
NOT_EXECUTEDService unavailableExternal service is not reachable
NOT_EXECUTEDSAT unavailableSAT system is unavailable
note
  1. RFC length:
    • 13 characters for individuals
    • 12 characters for companies
  2. This is a standalone check
  3. RFC must be provided by the customer