Emitir CFDIs
Con las APis de Facturador.com, puedes emitir los comprobantes siguientes en su versión CFDI 4.0:
- Factura
- Notas de Crédito
- Complementos de Pago
- Comprobante con Leyendas Fiscales
- Comprobante con complemento Carta Porte
- Comprobante con complemento Comercio Exterior
Generar CFDI
Sección titulada «Generar CFDI»Una vez que se obtengas un Token, es posible realizar solicitudes de acciones a Facturador.com como la acción de Generar comprobantes. Puedes utilizar estos receptores de prueba:
| RFC | RAZON SOCIAL | REGIMEN | CP |
|---|---|---|---|
| EKU9003173C9 | ESCUELA KEMPER URGATE | 601 | 06370 |
| H&E951128469 | HERRERIA & ELECTRICOS | 601 | 06370 |
| EWE1709045U0 | ESCUELA WILSON ESQUIVEL | 622 | 94915 |
| FUNK671228PH6 | KARLA FUENTE NOLASCO | 605 | 06370 |
Al crear comprobantes se puede elegir entre emitirlos en el momento o guardarlos para emitirlos posteriormente, para esto deberas especificar el parámetro emitir del siguiente endpoint https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/{emisorId}/comprobantes?emitir=true:
Si el parámetro emitir va en true:
https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/{emisorId}/comprobantes?emitir=true
El sistema intentará guardar y emitir (timbrar ante el SAT) el json del comprobante, en caso de error en las validaciones base de facturador.com o en el proceso del timbrado, no se guardará dicho comprobante.
curl -X POST 'https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/208/comprobantes?emitir=true' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' \ -d '{ "emisor": { "rfc": "GOYA780416GM0", "nombre": "EMPRESA DEMOSTRACIÓN", "regimenFiscal": "612", "sucursal": { "nombre": "Cancún", "calle": null, "codigoPostal": "77500", "colonia": null, "estado": null, "localidad": null, "municipio": null, "noExterior": null, "noInterior": null, "pais": "MEX", "referencia": null, "correo": null } }, "receptor": { "rfc": "H&E951128469", "nombre": "HERRERIA & ELECTRICOS", "usoCFDI": "G01", "regimenFiscalReceptor": "601", "domicilioFiscalReceptor": "06370", "direccionIDFacturador": 0, "direccion": { "nombre": "Principal", "calle": null, "codigoPostal": null, "colonia": null, "estado": null, "localidad": null, "municipio": null, "noExterior": null, "noInterior": null, "pais": "", "referencia": null, "correo": "" } }, "conceptos": [ { "claveProdServ": "01010101", "cantidad": "5", "claveUnidad": "H87", "descripcion": "Ejemplo de CFI 40", "valorUnitario": 1000, "importe": 5000, "objetoImp": "01" } ], "version": "4.0", "serie": "Sin Serie", "fecha": "2022-02-16T11:57:32", "formaPago": "01", "subTotal": 5000, "moneda": "MXN", "total": 5000, "tipoDeComprobante": "I", "exportacion": "01", "metodoPago": "PUE", "lugarExpedicion": "77500", "descripcionFacturador": "Factura"}'Si realizaste la petición correctamente con un 200 OK, la API devolverá el siguiente mensaje con el UUID de tu comprobante timbrado:
{"esValido": true,"idComprobante": 24788,"errores": null,"uuid": "9A20773A-D82D-49ED-85FB-3F38D389508","subEstatusId": 2,"descripcion": null}Generar CFDI con fecha de hasta 72hrs
Sección titulada «Generar CFDI con fecha de hasta 72hrs»Deberás mandar en el json del comprobante el atributo “fecha”: “YYYY-MM-ddThh:mm:ss” con el cual desees sellar tu comprobante y deberas especificar el parámetro noCalcularFecha del siguiente endpoint https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/{emisorId}/comprobantes?emitir=true&noCalcularFecha=true
Almacenar CFDI pendiente por timbrar
Sección titulada «Almacenar CFDI pendiente por timbrar»Al crear comprobantes para guardarlos (sin timbrarlos) deberas especificar el parámetro emitir en false:
https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/{emisorId}/comprobantes?emitir=false
El sistema almacenará un comprobante en estatus pendiente (es decir, no intentará timbrar el comprobante con el SAT), siempre y cuando el json pase las validaciones de linea base de facturador.com:
{ "esValido": false, "idComprobante": 15214712, "errores": null, "uuid": null, "subEstatusId": 0, "descripcion": null}Timbrar comprobante pendiente
Recupera tu comprobante pendiente de emitir con el idcomprobante por medio del metodo GET y modifica o emite el comprobante usando el metodo PUT.
Deberás añadir la propiedad Id con el identificador del comprobante que se intento previamente timbrar en el siguiente endpoint https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/{emisorId}/comprobantes/{IdComprobante}?emitir=true:
curl -X PUT 'https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/208/comprobantes/15205491?emitir=true' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' \ -d '{ "id": 15205491, "emisor": { "rfc": "GOYA780416GM0", "nombre": "EMPRESA DEMOSTRACIÓN", "regimenFiscal": "612", "sucursal": { "nombre": "Cancún", "calle": null, "codigoPostal": "77500", "colonia": null, "estado": null, "localidad": null, "municipio": null, "noExterior": null, "noInterior": null, "pais": "MEX", "referencia": null, "correo": null } }, "receptor": { "rfc": "H&E951128469", "nombre": "HERRERIA & ELECTRICOS", "usoCFDI": "G01", "regimenFiscalReceptor": "601", "domicilioFiscalReceptor": "06370", "direccionIDFacturador": 0, "direccion": { "nombre": "Principal", "calle": null, "codigoPostal": null, "colonia": null, "estado": null, "localidad": null, "municipio": null, "noExterior": null, "noInterior": null, "pais": "", "referencia": null, "correo": "" } }, "conceptos": [ { "claveProdServ": "01010101", "cantidad": "5", "claveUnidad": "H87", "descripcion": "Ejemplo de CFI 40", "valorUnitario": 1000, "importe": 5000, "objetoImp": "01" } ], "version": "4.0", "serie": "Sin Serie", "fecha": "2022-02-16T11:57:32", "formaPago": "01", "subTotal": 5000, "moneda": "MXN", "total": 5000, "tipoDeComprobante": "I", "exportacion": "01", "metodoPago": "PUE", "lugarExpedicion": "77500", "descripcionFacturador": "Factura"}'Si realizaste la petición correctamente con un 200 OK, la API devolverá el siguiente mensaje:
{"esValido": true,"idComprobante": 24788,"errores": null,"uuid": "9A20773A-D82D-49ED-85FB-3F38D389508","subEstatusId": 2,"descripcion": null}Obtener XML
Sección titulada «Obtener XML»En caso de querer obtener un CFDI en su formato Xml debes hacer una solicitud a nuestra API de la siguiente forma al Endpoint https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/{emisorid}/descargacomprobantes/{uuid}?tipoContenido=xml:
curl -X GET 'https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/208/descargacomprobantes/9624362D-19FA-4F38-81D3-EF3A814948D2?tipoContenido=xml' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer 'Obtener PDF
Sección titulada «Obtener PDF»En caso de querer obtener un CFDI en su PDF primero debe realizar una solicitud de generación de la representacion visual en formato PDF a nuestra API de la siguiente forma al Endpoint https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/{emisorid}/pdfs/{uuid}:
curl -X POST 'https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/208/pdfs/9624362D-19FA-4F38-81D3-EF3A814948D2' \ -H 'Authorization: Bearer ' \ -H 'Content-Length: 0'Si realizaste la petición correctamente, obtendrás un 200 OK y la API devolverá el siguiente mensaje:
{1}Una ves que nuestra API de la siguiente forma al Endpoint https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/{emisorid}/comprobantes/{uuid}/pdf:
curl -X GET 'https://pruebas.stagefacturador.com/businessEmision/api/v1/emisores/208/comprobantes/9624362D-19FA-4F38-81D3-EF3A814948D2/pdf/' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Authorization: Bearer 'Si realizaste la petición correctamente, obtendrás un 200 OK y la API devolverá el siguiente mensaje:
https://stageemision.blob.core.windows.net/goya780416gm0/9624362D-19FA-4F38-81D3-EF3A814948D2.pdf?sv=2017-04-17&sr=b&sig=5QJbobSYoE4wLusTn2c8%2BfnUenThpfHnHKuXR6p1XbE%3D&st=2022-08-08T23%3A31%3A39Z&se=2022-08-13T23%3A36%3A39Z&sp=rEnviar Correo
Sección titulada «Enviar Correo»En caso de querer enviar un CFDI por correo deberás utilizar el siguiente Endpoint https://pruebas.stagefacturador.com/BusinessEmision/api/v1/emisores/{IdEmisor}/enviocorreo:
curl -X POST 'https://pruebas.stagefacturador.com/BusinessEmision/api/v1/emisores/208/enviocorreo' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' \ -d '{ "asunto": "Tu comprobante Fiscal Digital con la nueva versión 4.0", "cc": "", "mensaje": "hola", "para": "ejemplo@mail.com.mx", "responderA": "ejemplo@mail.com.mx", "cfdi": { "uuid": "9624362D-19FA-4F38-81D3-EF3A814948D2" }}'Si realizaste la petición correctamente, obtendrás un 200 OK y la API devolverá el siguiente mensaje:
{true}