Llevar el resultado a tu programa con un conector
Elegir el conector de tu programa contable, preparar lo que pide, ejecutarlo con tus respuestas y qué hacer con las facturas que salen a revisar.
Qué es un conector
Un conector convierte las respuestas de la API (el documento v1) en los ficheros que importa tu programa
contable. Son código abierto (licencia MIT): un único fichero de Python sin dependencias, más una pieza común.
Cógelo, léelo y adáptalo a tu programa. Piden Python 3.8 o posterior, solo biblioteca estándar.
Lo que reciben es lo mismo para todos: una carpeta con las respuestas de GET /v1/trabajos/{trabajo}, cada
una guardada como un .json.
Paso a paso
Elige el de tu programa
| programa | conector | lo que produce |
|---|---|---|
| Cualquiera (o una hoja de cálculo) | munincloud-conector-csv | facturas.csv (una fila por factura) e iva.csv (una fila por cada tipo de IVA) |
| a3 | munincloud-conector-a3 | CSV para el Importador de Datos de a3ASESOR y JSON para a3innuva Importia (solo recibidas) |
| ERPNext | munincloud-conector-erpnext | CSV para Data Import de facturas de compra y de venta |
| Odoo | munincloud-conector-odoo | CSV para importar facturas en account.move |
| Contasol | munincloud-conector-contasol | IVS.ods (libro de IVA soportado) y APU.ods (los asientos) de facturas recibidas |
| Sage 50 | munincloud-conector-sage50 | CSV para el addon «Importador Excel de facturas en asientos» |
| Holded | munincloud-conector-holded | holded_compras.csv, la plantilla de importación de compras |
Cada uno trae su README con lo que produce, columna a columna, y contra qué se ha verificado.
Pruébalo antes con sus ejemplos
Cada repositorio trae respuestas de ejemplo (facturas de prueba con NIF reservados por la AEAT para pruebas) y sus pruebas. Desde la carpeta del repositorio, por ejemplo con el de CSV:
python3 munincloud_csv.py --mi-nif B00000018 --salida salida ejemplos/entrada
head -3 salida/facturas.csv
python3 -m unittest discover -s pruebas
B00000018 es el NIF de prueba de los ejemplos: con tus facturas, pon el tuyo.
Prepara lo que pide tu programa
La respuesta v1 no trae tu plan de cuentas ni tus tablas de IVA, y los conectores no los inventan: se los
das tú. Lo que pide cada uno, según su README:
| conector | lo que preparas |
|---|---|
| CSV | nada más que tu NIF; --excel-es si lo vas a abrir con doble clic en un Excel en español |
| a3 | las subcuentas de proveedores y clientes (--cuentas-proveedores / --cuentas-clientes, ficheros NIF;subcuenta) y las cuentas de gasto e ingreso (--cuenta-gasto / --cuenta-ingreso) |
| ERPNext | --compania, las cuentas de acreedores, gasto, deudores e ingreso y el centro de coste, con los nombres exactos de tu ERPNext; los proveedores y clientes tienen que existir ya en tu ERPNext |
| Odoo | una exportación de tus Contactos con External ID y NIF (--contactos); tus impuestos (--impuestos) son opcionales |
| Contasol | el maestro NIF;subcuenta de tus proveedores (--maestro); para el asiento, el diario y las cuentas de IVA, gasto y retención |
| Sage 50 | el maestro de terceros NIF;subcuenta de proveedores y clientes, y tus códigos de IVA de la pantalla «Relación de Iva» (--codigos-iva-compras, --codigos-iva-ventas) |
| Holded | la cuenta de gasto (--cuenta-gasto) y, recomendado, las claves de impuesto de tu cuenta (--claves-iva) |
Guarda tus respuestas y ejecútalo
Guarda cada respuesta de GET /v1/trabajos/{trabajo} como un .json en una carpeta (el arranque rápido la deja
en resultado.json). Luego, con el NIF de tu empresa en --mi-nif: con él se comprueba qué es compra y qué es
venta.
python3 munincloud_csv.py --mi-nif TU_NIF --salida salida carpeta_con_respuestas/
Lo que no es una factura terminada (un trabajo en curso o rechazado) no se importa: va a omitidos.csv.
Revisa lo que sale aparte
Lo que no conviene importar a ciegas (no cuadra, falta el número, la fecha o el NIF, la AEAT da el NIF de la otra
parte de baja, revocado o no identificado, la factura no viene en euros, la API puso un aviso, la auditoría dejó un
hallazgo…) se aparta, con el motivo en revisar.csv (en el de CSV, en la columna revisar de
facturas.csv). Según el conector, las facturas apartadas van además en
su propio fichero, con [REV] delante del concepto o de la referencia.
El conector no arregla nada de esto: lo enseña. Una factura que no cuadra sale con su descuadre a la vista, no se cuadra a la fuerza: compárala con el papel antes de llevarla a tu programa.
Un aviso de la API sale entre los motivos como AVISO_<código>. Un código que no conozcas: revísalo, como dice
la guía del resultado.
Marcas
a3® es una marca de Wolters Kluwer. MuninCloud no está asociado a, ni certificado por, Wolters Kluwer. a3ASESOR®, a3innuva® e Importia® también son marcas de Wolters Kluwer. ERPNext® es una marca de Frappe Technologies Pvt. Ltd. MuninCloud no está asociado a, ni certificado por, Frappe Technologies Pvt. Ltd. Frappe® también es una marca de Frappe Technologies Pvt. Ltd. Odoo® es una marca de Odoo S.A. MuninCloud no está asociado a, ni certificado por, Odoo S.A. Contasol® es una marca de Software DELSOL. MuninCloud no está asociado a, ni certificado por, Software DELSOL. Sage® es una marca de Sage Global Services Limited o sus licenciantes. MuninCloud no está asociado a, ni certificado por, Sage Global Services Limited o sus licenciantes. Holded® es una marca de Holded. MuninCloud no está asociado a, ni certificado por, Holded.