Ir al contenido

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

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:

RFCRAZON SOCIALREGIMENCP
EKU9003173C9ESCUELA KEMPER URGATE60106370
H&E951128469HERRERIA & ELECTRICOS60106370
EWE1709045U0ESCUELA WILSON ESQUIVEL62294915
FUNK671228PH6KARLA FUENTE NOLASCO60506370

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.

Ventana de terminal
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
}

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

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:

Ventana de terminal
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
}

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:

Ventana de terminal
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 '

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}:

Ventana de terminal
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:

Ventana de terminal
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=r

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:

Ventana de terminal
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
}