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.
| Key | Type | Mandatory | Description |
|---|---|---|---|
| address.country | string | yes | Country should be MEX |
| id.idNumber | string | yes | RFC ID number |
| id.type | string | yes | Type 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
- Person(FISICA)
- Business RFC
{
"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)"
}
}
]
}
{
"govtIdVerification": [
{
"id": "e6014cab-b499-408f-87ca-61337f6e53a0",
"credentials": [
{
"id": "3c9a3fec-5214-4cce-b4a7-289cba8b5cc3",
"category": "DATA"
}
],
"decision": {
"type": "PASSED",
"details": {
"label": "OK"
}
},
"data": {
"nationalIdMatch": "MATCH",
"reasonMessage": "Valid RFC, eligible to receive invoices",
"entityType": "COMPANY (Moral)"
}
}
]
}
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
| Key | Type | Description |
|---|---|---|
| id | string | UUID of the credential used |
| category | string | Category of credentials used |
Decision Details Labels
| Decision Type | Label | Description |
|---|---|---|
| PASSED | OK | RFC is valid and matches records |
| REJECTED | DENY | RFC is invalid or does not match |
| NOT_EXECUTED | TECHNICAL_ERROR | The check could not be completed |
Data
| Key | Type | Description |
|---|---|---|
| entityType | string | Type of RFC: Individual (Persona Fisica) or Company (Persona Moral) |
| nationalIdMatch | string | "MATCH", "NOT_MATCH": Indicates the match status of the ID. National ID may not always be supported in all countries |
| reasonMessage | string | Detailed message for success or failure cases. See the table below for examples (e.g., valid RFC, invalid format, etc.) |
Data - reasonMessage
| Decision | Message | Description |
|---|---|---|
| PASSED | Valid RFC, eligible to receive invoices | RFC is valid and can be used for invoicing |
| REJECTED | RFC not registered in the taxpayer registry | RFC does not exist in the official records |
| REJECTED | RFC is not in the list of non-canceled RFCs | RFC is canceled or inactive |
| REJECTED | RFC with invalid format | RFC format is incorrect |
| NOT_EXECUTED | Authentication error | Failed due to authentication issues |
| NOT_EXECUTED | Encryption error | Encryption-related failure |
| NOT_EXECUTED | Insufficient permissions | Access rights are not sufficient |
| NOT_EXECUTED | Incorrect data | Provided data is incorrect |
| NOT_EXECUTED | Incorrect data format | Data format does not meet requirements |
| NOT_EXECUTED | Reference already registered | Duplicate reference detected |
| NOT_EXECUTED | Database execution error | Internal database processing failure |
| NOT_EXECUTED | Service unavailable | External service is not reachable |
| NOT_EXECUTED | SAT unavailable | SAT system is unavailable |
- RFC length:
- 13 characters for individuals
- 12 characters for companies
- This is a standalone check
- RFC must be provided by the customer