{"id":3463,"date":"2021-03-09T22:18:47","date_gmt":"2021-03-09T22:18:47","guid":{"rendered":"https:\/\/documents.openpay.mx\/?p=3463"},"modified":"2023-06-27T14:28:02","modified_gmt":"2023-06-27T14:28:02","slug":"electronic-invoice","status":"publish","type":"post","link":"https:\/\/documents-mx-dev.opdevhm.com\/en\/docs\/electronic-invoice.html","title":{"rendered":"Electronic Invoice"},"content":{"rendered":"
En Abril del 2023, el SAT liber\u00f3 la nueva versi\u00f3n 4.0 de CFDI, la cual sustituye a la versi\u00f3n 3.3, que estaba vigente desde 2017.<\/p>
Derivado al cambio por parte del SAT, se actualiza la emisi\u00f3n de CFDI, incluyendo los siguientes ajustes mandatorios a nuevas validaciones y funcionalidades, correspondientes a la versi\u00f3n 4.0:<\/p>
Openpay's electronic invoice generation API is part of the functionalities offered by the platform to complement the user's purchase process.<\/p>
The generation process is performed asynchronously, the trade sends the generation request to Openpay so that the request is validated and the generation process is triggered and the result of the validation will be responded to once the process is launched Generation Openpay will notify the commerce through notification (webhook) the final result of the generation.<\/p>
To set the URL, go to: Settings -> Webhooks -> Add <\/strong>y seleccionar \u201cPersonalizar Eventos\u201d y notificaciones de Facturas creadas y fallidas como se muestra en la siguiente imagen:<\/p> Note:<\/strong><\/span> :<\/strong> La secci\u00f3n de eventos de \u201cFacturas\u201d solo estar\u00e1 disponible hasta que en su cuenta de Openpay se haya activado la API de facturaci\u00f3n.<\/em><\/span><\/p> Los servicios de facturaci\u00f3n se encuentran disponibles dentro de la API de Openpay y requieren la misma autenticaci\u00f3n de los otros servicios. Para m\u00e1s informaci\u00f3n sobre la autenticaci\u00f3n consulte: http:\/\/www.openpay.mx\/docs\/api\/?#autenticaci-n<\/p> Endpoints for invoice:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t Environments<\/p> Example:<\/p> POST:<\/p> DELETE:<\/p> For the generation of CFDI it is necessary to send a Generation of CFDI Object<\/a>. Los campos de este objeto deber\u00e1n ser enviados en un mensaje JSON realizando una petici\u00f3n HTTP POST a la URL: https:\/\/{enviroment}\/v1\/{merchant_id}\/invoices\/v40<\/p> \u00a0<\/p> Campos Respuesta<\/p><\/center>
Endpoints<\/h2>
Action<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
URL<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
M\u00e9todo<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
Invoice Generation<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
https:\/\/{enviroment}\/v1\/{merchant_id}\/invoices\/v40<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
POST<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
List CFDI <\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
https:\/\/{enviroment}\/v1\/{merchant_id}\/invoices\/v40<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
GET<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
Retrieve CFDI <\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
https:\/\/{enviroment}\/v1\/{merchant_id}\/invoices\/v40\/{UUID}<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
GET<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
Cancel Invoice<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
https:\/\/{enviroment}\/v1\/{merchant_id}\/invoices\/v40\/{UUID}<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
DELETE<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
https:\/\/sandbox-api.openpay.mx\/v1\/mzdtln0bmtms6o3kck8f\/invoices\/v40\n<\/code><\/pre>
https:\/\/sandbox-api.openpay.mx\/v1\/mzdtln0bmtms6o3kck8f\/invoices\/v40\/92ACB752-0F17-427F-A007-A63DFC612036\n<\/code><\/pre>
Generation of CFDI<\/h2>
Object List<\/h2>
Ejemplos de petici\u00f3n de emisi\u00f3n de factura:<\/strong><\/p> {<\/span>\n \"lugar_expedicion\"<\/span>:<\/span> \"37800\",<\/span>\n \"moneda\"<\/span>:<\/span> \"MXN\"<\/span>,<\/span>\n \"total\"<\/span>:<\/span> 100<\/span>,<\/span>\n \"tipo_de_cambio\"<\/span>:<\/span> 1<\/span>,<\/span>\n \"forma_pago\"<\/span>:<\/span> \"28\"<\/span>,<\/span>\n \"metodo_pago\":\"PUE\",\n \"invoice_id\":\"010101010\",\n \"conceptos<\/span>:<\/span> [
{<\/span>\n \"clave\":\"01010101\",
\"identificador\":\"1\",
\"cantidad\":1,
\"clave_unidad\":\"18\",
\"unidad\":\"1\",\"descripcion\":\"concepto uno\",
\"valor_unitario\":100,
\"importe\":100,
\"descuento\":0,
\"objeto_imp\":\"01\",
\"traslados\":null,
\"retenciones\":null
}
],\n \"receptor\":{
\"rfc\": \"XIQB891116QE4\",
\"nombre\": \"BERENICE XIMO QUEZADA\",
\"uso_cfdi\": \"G03\",
\"domicilio_fiscal\": \"57424\",
\"email\":\"victor.gomez@openpay.mx\",
\"regimen_fiscal\": \"606\"
}
}
{\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"subtotal\":86.21,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"total_trasladados\":13.79,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"impuestos_traslado\":[
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0{
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"impuesto\":\"002\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"tipo_factor\":\"Tasa\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"tasa\":0.16,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"importe\":13.79
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ],
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"total\":100,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"tipo_de_cambio\":1,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"forma_pago\":\"28\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"conceptos\":[
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0{
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"clave\":\"87631801\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"clave_unidad\":\"D48\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"identificador\":\"80111821\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"cantidad\":1,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"descripcion\":\"204: prueba trxch1vcasicofbdsav5\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"valor_unitario\":86.21,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"importe\":86.21,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"objeto_imp\":\"02\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"traslados\":[
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"impuesto\":\"002\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"base\":86.21,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"tipo_factor\":\"Tasa\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"tasa\":0.16,
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"importe\":13.79
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0]
\u00a0 \u00a0 \u00a0 \u00a0 }
\u00a0 \u00a0 ],
\u00a0 \u00a0 \u00a0 \u00a0 \"lugar_expedicion\":\"04000\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"moneda\":\"MXN\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"receptor\":{
\u00a0 \u00a0 \u00a0 \u00a0 \"nombre\":\"JOSE MARIA MORFIN\u00a0 \u00a0 \u00a0 CASTILLEJOS\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"rfc\":\"MOCM680926D64\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"email\":\"jd@openpay.mx\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"uso_cfdi\":\"G03\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"domicilio_fiscal\":\"04100\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"regimen_fiscal\":\"605\"
\u00a0 \u00a0 \u00a0 \u00a0 },
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"invoice_id\":\"5665-1684346946\",
\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\"metodo_pago\":\"PUE\"
}<\/code><\/pre><\/code><\/pre><\/figure>
Generation request response<\/h2>
Field<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
Description<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
invoice_id<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
Identifier of the invoice sent in the request<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
request_id<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
POST<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
date<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
POST<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
status<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t
POST<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t