Empezar
Ambiente de pruebas (sandbox)
Dónde probar sin timbrar ante el SAT y qué CSD de prueba usar para tu organización.
Antes de emitir un solo CFDI real, construye y prueba tu integración en el ambiente de pruebas de Facty:
https://sandbox.facty.mx
Es la misma aplicación y la misma API que producción, pero timbra contra el sandbox del PAC: los CFDI que emitas ahí no se envían al SAT, no tienen validez fiscal y no tienen ningún efecto ante tus clientes.
Cuenta y API keys
El sandbox es una base de datos distinta a la de producción:
- Crea tu cuenta y tu organización directamente en
sandbox.facty.mx. - Las API keys del sandbox solo funcionan en el sandbox, y las de producción solo en producción. Guarda una llave por ambiente (ver Autenticación y API keys).
- En tu integración, cambia solo el host:
export FACTY_HOST=https://sandbox.facty.mx # pruebas
# export FACTY_HOST=https://facty.mx # producción
CSD de prueba
Para timbrar, tu organización necesita un Certificado de Sello Digital (CSD). En el sandbox no uses tu CSD real: usa uno de los certificados de prueba que publica el SAT. Los tenemos todos en un solo archivo:
Descargar CSD de prueba (.zip)
Todas las llaves privadas (.key) usan la misma contraseña:
12345678a
Dentro del zip hay una carpeta por RFC, separadas en Personas Físicas y
Personas Morales. Cada una contiene una subcarpeta CSD_<RFC>_… con el
certificado (.cer) y la llave privada (.key). Algunos RFC traen más de una
sucursal; cualquiera sirve.
Configura tu organización de pruebas
- En
sandbox.facty.mx, ve a Configuración → Datos fiscales. - Captura el RFC, nombre fiscal, régimen y código postal exactamente como aparecen en las tablas de abajo, en mayúsculas y sin régimen societario (sin "S.A. de C.V.").
- Sube el
.cery el.keyde ese mismo RFC con la contraseña12345678a.
Si no sabes cuál elegir, usa el emisor de pruebas más común:
| Campo | Valor |
|---|---|
| RFC | EKU9003173C9 |
| Nombre fiscal | ESCUELA KEMPER URGATE |
| Régimen fiscal | 601 General de Ley Personas Morales |
| Código postal | 42501 |
El receptor también tiene que existir
CFDI 4.0 valida al receptor contra el padrón del SAT, también en el sandbox: un
RFC inventado o un nombre que no coincide hace que el CFDI se rechace. Para tus
clientes de prueba usa otro RFC de las tablas, con su nombre, régimen y
código postal exactos. Por ejemplo, con EKU9003173C9 como emisor:
{
"rfc": "URE180429TM6",
"legalName": "UNIVERSIDAD ROBOTICA ESPAÑOLA",
"cp": "86991",
"regimenFiscal": "603",
"usoCfdiDefault": "G03"
}
XAXX010101000 (PUBLICO EN GENERAL) también funciona como receptor genérico.
RFC de prueba disponibles
Los nombres se escriben tal como los registró el SAT, incluidos sus errores ("INDISTRIA", "INDUSTIA", "URTADO"): la validación compara contra ese texto exacto. Cuando un RFC tiene más de un régimen, cualquiera de ellos es válido.
Personas físicas
| RFC | Nombre fiscal | Código postal | Régimen fiscal | Obligaciones |
|---|---|---|---|---|
CACX7605101P8 | XOCHILT CASAS CHAVEZ | 36257 | 621 | 2 |
FUNK671228PH6 | KARLA FUENTE NOLASCO | 01160 | 621, 605 | 1 |
IAÑL750210963 | LUIS IAN ÑUZCO | 82525 | 608 | 1 |
JUFA7608212V6 | ADRIANA JUAREZ FERNANDEZ | 01160 | 614 | 1 |
KAHO641101B39 | OSCAR KALA HAAK | 76074 | 612 | 1 |
KICR630120NX3 | RODRIGO KITIA CASTRO | 36246 | 622 | 1 |
MISC491214B86 | CECILIA MIRANDA SANCHEZ | 01010 | 612 | 1 |
RAQÑ7701212M3 | ÑEVES RAMIREZ QUEZADA | 78905 | 605 | 1 |
WATM640917J45 | MARIA WATEMBER TORRES | 43543 | 622 | 1 |
WERX631016S30 | XAIME WEIR ROJO | 01279 | 608 | 1 |
XAMA620210DQ5 | ALBA XKARAJAM MENDEZ | 01219 | 612 | 1 |
XIQB891116QE4 | BERENICE XIMO QUEZADA | 40968 | 606 | 4 |
XOJI740919U48 | INGRID XODAR JIMENEZ | 76028 | 612, 605 | 1 |
Personas morales
| RFC | Razón social | Código postal | Régimen fiscal | Obligaciones | SCNF |
|---|---|---|---|---|---|
EKU9003173C9 | ESCUELA KEMPER URGATE | 42501 | 601 | 1 | No |
H&E951128469 | HERRERIA & ELECTRICOS | 06002 | 601 | 1 | No |
IIA040805DZ4 | INDISTRIA ILUMINADORA DE ALMACENES | 62661 | 601 | 1 | No |
IVD920810GU2 | INNOVACION VALOR Y DESARROLLO | 63901 | 601 | 1 | No |
IXS7607092R5 | INTERNACIONAL XIMBO Y SABORES | 23004 | 603 | 1 | No |
JES900109Q90 | JIMENEZ ESTRADA SALAS | 37161 | 601 | 1 | No |
KIJ0906199R1 | KERNEL INDUSTIA JUGUETERA | 28971 | 603 | 1 | No |
L&O950913MSA | LUCES & OBRAS | 60922 | 603 | 1 | Sí |
OÑO120726RX3 | ORGANICOS ÑAVEZ OSORIO | 40501 | 601 | 1 | Sí |
URE180429TM6 | UNIVERSIDAD ROBOTICA ESPAÑOLA | 86991 | 603 | 1 | No |
XIA190128J61 | XENON INDUSTRIAL ARTICLES | 76343 | 624 | 1 | No |
ZUÑ920208KL4 | ZAPATERIA URTADO ÑERI | 34541 | 601 | 1 | No |
Obligaciones (tasas de IVA)
La columna Obligaciones indica qué tasas de IVA puede facturar cada RFC:
| Clave | Puede facturar |
|---|---|
| 1 | IVA exento, tasa 0% y 16% |
| 2 | IVA exento, tasa 0%, 8% y 16% — Zona Fronteriza Norte |
| 3 | IVA exento, tasa 0%, 8% y 16% — Zona Fronteriza Sur |
| 4 | IVA exento, tasa 0%, 8% y 16% — Zona Fronteriza Norte y Sur |
Para probar IVA al 8% (estímulo fronterizo) usa CACX7605101P8 o
XIQB891116QE4 como emisor.
Pasar a producción
Cuando tu integración funcione en el sandbox:
- Crea tu cuenta en
https://facty.mxy sube tu CSD real. - Genera una API key de producción.
- Cambia
FACTY_HOSTahttps://facty.mxy confirma que/contextresponde"stampingMode": "production"antes de emitir.
Desde ese momento cada CFDI es real: consume timbres y tiene efectos fiscales.