Emitir una factura de cliente
El documento que se emite por productos y/o servicios vendidos a un cliente.
Una factura de cliente registra lo que un cliente nos debe por bienes o servicios entregados: el importe, los impuestos aplicables, y cualquier otro cargo. Se puede generar automáticamente desde un presupuesto u orden de venta, o crearse manualmente desde Contabilidad > Clientes > Facturas.
Al completar una factura nueva, los campos clave son:
- Cliente: al elegirlo, Odoo completa automáticamente sus datos de facturación (dirección, condición fiscal, moneda).
- Líneas de factura: los productos o servicios, con su cantidad, precio e impuesto.
- Otra información: referencia del cliente, posición fiscal, y otros datos adicionales.
Mientras la factura está en estado Borrador, no tiene ningún impacto contable: se puede editar libremente. Al hacer clic en Confirmar, la factura pasa a estado Registrado (Posted) —así lo rotula la barra de estado, arriba a la derecha—:
- Odoo le asigna un número único, siguiendo la secuencia configurada en el diario correspondiente.
- Se genera automáticamente el asiento contable asociado.
- Una vez registrada, la factura ya no se puede editar. Si hace falta corregir algo, se usa el botón Restablecer a borrador —aunque esto puede tener implicancias fiscales si la factura ya fue enviada a ARCA— o se emite una Nota de crédito.
En una factura argentina hay tres datos propios de la localización que conviene mirar antes de confirmar:
- Tipo de documento: aparece arriba, junto al número. Odoo lo propone solo, cruzando la responsabilidad ante ARCA de la empresa con la del cliente. Un Responsable Inscripto que le factura a otro Responsable Inscripto emite Factura A; al mismo cliente como Consumidor Final, Factura B. No lo define la posición fiscal.
- Número: lo asigna Odoo siguiendo la secuencia del punto de venta del diario, con el formato FA-A 00001-00000001: tipo de comprobante, punto de venta y número correlativo.
- Concepto ARCA y Fecha del servicio, en la pestaña Otra información. El concepto lo sugiere Odoo según los productos cargados, y sus opciones aparecen en inglés porque la localización no las traduce: Products / Definitive export of goods, Services, Products and Services y 4-Other (export). Si el concepto incluye servicios, hay que completar el período de prestación: desde y hasta.
Registrar una factura de proveedor
El mismo proceso, en sentido inverso: lo que la empresa le debe a un proveedor.
Las facturas de proveedor (Vendor Bills) siguen una lógica equivalente a la de cliente, pero desde Contabilidad > Proveedores > Facturas de proveedor. Se registra ahí el comprobante que el proveedor emitió, no uno que genera Ingenio Construcciones.
- Proveedor: Odoo completa sus datos de pago habituales.
- Referencia de factura: el número del comprobante físico o electrónico que el proveedor emitió —importante completarlo, porque es el dato que evita cargar el mismo gasto dos veces—.
- Líneas: productos o gastos recibidos, con su importe e impuesto.
Igual que con las facturas de cliente: en Borrador se puede editar sin restricciones: al Confirmar, se genera el asiento contable y la factura queda registrada como una deuda a pagar (Cuenta por pagar).
Con la localización argentina hay una diferencia importante respecto de las facturas de cliente: el tipo de documento y el número se cargan a mano. Tiene lógica, porque el comprobante lo emitió el proveedor: Odoo no lo numera, lo registra. Ambos campos están arriba, junto al proveedor, y el listado de tipos de documento se filtra según la responsabilidad ante ARCA de ese proveedor.
Configuración de la localización argentina
El paso previo que habilita todo lo demás. Lo hace Altiplan durante la implementación, pero conviene entender qué queda instalado.
Odoo no trae la contabilidad argentina de fábrica: se instala eligiendo un paquete de localización fiscal. Se hace desde Contabilidad > Configuración > Ajustes, en la sección Localización fiscal, y el paquete que corresponda depende del tipo de responsabilidad ante ARCA de la empresa:
| Paquete | Para | Cuentas que instala |
|---|---|---|
| Monotributista | Monotributistas | 227 |
| Exento | Personas exentas de IVA | 290 |
| Responsable Inscripto | Responsables inscriptos | 298 |
Al elegir el paquete y guardar, Odoo instala de una sola vez una base genérica completa:
- El plan de cuentas argentino, con la estructura y la numeración de la normativa local.
- Los impuestos con su cuenta contable ya asociada —para Responsable Inscripto son 73—, incluidos IVA en sus distintas alícuotas, percepciones y retenciones.
- Las posiciones fiscales, que mapean impuestos y cuentas según la condición del contacto.
- Los tipos de documento que define ARCA (Factura A, B, C, notas de crédito y débito, comprobantes del exterior, y demás).
- Los diarios de ventas, compras, banco y asientos varios.
La palabra clave es genérica. Nada de eso es la configuración final: es el punto de partida sobre el que se hacen las modificaciones y parametrizaciones que necesita cada empresa —agregar o desactivar cuentas, ajustar alícuotas, crear los diarios propios, asociar cada diario de ventas a su punto de venta de ARCA—. Ese trabajo de parametrización es buena parte de lo que se hace durante la implementación.
Dos detalles que conviene tener presentes al trabajar sobre esa base:
- Muchos impuestos vienen desactivados. Odoo marca como inactivos los que no suele usar la mayoría de las empresas. Antes de crear un impuesto nuevo hay que verificar que no exista ya desactivado: duplicarlo genera inconsistencias en los reportes.
- Los diarios de ventas y compras necesitan la opción Usar documentos. Es la que vincula los tipos de documento de ARCA con las facturas. Un diario sin esa opción no puede generar comprobantes fiscales: queda limitado a movimientos de control interno.
Conectar el web service de ARCA
Sin certificado digital no hay factura electrónica. El trámite se inicia desde Odoo y se completa en el sitio de ARCA.
Para que Odoo pueda pedirle el CAE a ARCA necesita autenticarse ante sus web services con dos archivos: un certificado digital y su clave privada. Ambos se configuran en Contabilidad > Configuración > Ajustes, sección Localización para Argentina, bloque Webservices de ARCA.
Antes que nada se define el entorno: Prueba o Producción. ARCA replica toda su infraestructura en dos ambientes completamente aislados, y un certificado emitido para uno no sirve en el otro. Durante la implementación se trabaja en Prueba; el pase a Producción se hace con un certificado nuevo.
El circuito para obtener el certificado tiene cinco pasos, y arranca en Odoo:
- Generar la solicitud (Odoo). En el bloque Webservices de ARCA hay un botón que produce el archivo .csr (Certificate Signing Request). El botón cambia de nombre según el estado: si todavía no hay ningún certificado cargado se llama Generar solicitud y aparece junto al campo Certificado; si ya hay uno, en su lugar se muestra Generar solicitud de renovación. Los dos hacen exactamente lo mismo. Si el campo Clave privada estaba vacío, Odoo genera también la clave privada en ese momento y la guarda. Antes de apretarlo, la compañía tiene que tener cargados su ciudad, su país y su CUIT: si falta alguno, Odoo lo pide y no genera nada.
- Cargar el .csr en ARCA. Con clave fiscal, en el servicio Administración de Certificados Digitales, se usa Agregar alias: se le pone un nombre al alias y se sube el archivo .csr generado en el paso anterior. Si el servicio no aparece en el listado, primero hay que habilitarlo desde el Administrador de Relaciones de Clave Fiscal.
- Descargar el certificado (ARCA). Una vez creado el alias, ARCA emite el certificado y queda disponible para descargar.
- Asociar el certificado al web service (ARCA). Desde el Administrador de Relaciones de Clave Fiscal se crea una nueva relación hacia el servicio de facturación electrónica, indicando como representante el alias recién creado. Sin este paso el certificado existe pero no tiene permiso para facturar.
- Cargar todo en Odoo. De vuelta en Ajustes, se sube el archivo en el campo Certificado y se confirma la Clave privada que Odoo había generado en el paso 1. El botón Conexiones de prueba valida que la comunicación funcione.
El web service no se elige directamente: sale del campo Sistema de PdV de ARCA del diario de ventas, que describe cómo emite comprobantes ese punto de venta. De todas sus opciones, tres son las que se comunican con un web service:
| Sistema de PdV de ARCA | Para qué comprobantes | Web service |
|---|---|---|
| Factura Electrónica - Web Service | El caso más común: comprobantes A, B, C y M del mercado interno, sin detalle de ítems. | WSFEv1 |
| Comprobante de exportación - Web Service | Clientes del exterior; comprobante tipo E, con detalle. | WSFEXv1 |
| Bono Fiscal Electrónico - Web Service | Bienes de capital con Bono de Crédito Fiscal Electrónico. | WSBFE |
El resto de las opciones —Factuweb (Imprenta), Factura en linea, las variantes de exportación por facturador plus o en línea, y Controlador fiscal externo— corresponden a puntos de venta que no se comunican por web service. En esos diarios Odoo registra el comprobante y lo numera, pero no le pide el CAE a ARCA.
Factura electrónica ARCA (Argentina)
El requisito legal que suma la localización argentina sobre la factura de cliente.
En Argentina, toda factura de cliente que emite Ingenio Construcciones tiene que cumplir con los requisitos de facturación electrónica ante ARCA (Agencia de Recaudación y Control Aduanero, ex AFIP). Odoo ya incluye esta integración como parte de la localización argentina.
- Tipo de comprobante: según la condición fiscal del cliente y de la empresa, Odoo determina si corresponde emitir Factura A, B, C, o una Factura de Crédito Electrónica MiPyME (FCE), entre otros tipos.
- Tipo de responsabilidad ARCA del contacto: es el dato que se completa en la ficha de cada contacto (ver Manual «Contactos») y que Odoo usa para calcular automáticamente qué tipo de comprobante corresponde.
- Punto de venta: cada diario de ventas queda asociado a un punto de venta habilitado ante ARCA (ver Manual «Conceptos básicos de contabilidad», sección Diarios).
Al confirmar la factura, Odoo la envía a ARCA y espera la respuesta. Si sale bien, los datos de la autorización quedan cargados en dos lugares distintos de la factura:
- En el encabezado, debajo del Tipo de Documento, aparece el Resultado: Aceptado en ARCA o Aceptado con observaciones en ARCA.
- Al pie se habilita una pestaña propia, ARCA, que solo se muestra en las facturas de un diario con web service. Adentro están la Autorización ARCA —el modo, que en una factura electrónica de cliente es siempre CAE, y al lado el código que devolvió ARCA— y la Fecha de vencimiento de la autorización, hasta cuándo vale ese código.
El código QR de ARCA se genera solo y sale impreso en el PDF del comprobante. Y si ARCA la aceptó sin observaciones, el botón Restablecer a borrador desaparece de la factura.
De dónde sale la cuenta de cada línea
La columna Cuenta no se completa a mano: la define el producto, y detrás del producto hay una cadena.
En las líneas de la factura hay una columna Cuenta que ya viene completa —"4.1.1.01.010 Venta de mercadería", por ejemplo—. Ese valor no lo elige quien factura: Odoo lo busca en tres escalones, y usa el primero que encuentra cargado.
- El producto. En la ficha del producto, pestaña Contabilidad, grupo Costos y ganancias: Cuenta de ingresos para las ventas y Cuenta de gastos para las compras. Los productos se abren desde Contabilidad > Clientes > Productos o Contabilidad > Proveedores > Productos, y esa pestaña la ven solo los usuarios con permisos de contabilidad.
- La categoría del producto. Si esos dos campos están vacíos —el texto gris dentro del campo avisa De categoría—, Odoo toma las cuentas de la categoría, en Contabilidad > Configuración > Facturación > Categorías de productos, grupo Propiedades de la cuenta. Si la categoría tampoco las tiene, sube a la categoría padre.
- La empresa. Como último respaldo están las cuentas generales de Ingenio Construcciones, en Contabilidad > Configuración > Ajustes, bloque Cuentas predeterminadas, sección Cuentas del producto.
Hay dos casos más, típicos de las facturas de proveedor. Si la línea no tiene producto —un gasto cargado como texto libre—, Odoo propone la cuenta que más se usó con ese proveedor; y si no hay historia, la cuenta por defecto del diario. Y si la factura tiene una posición fiscal cargada, esa posición puede reemplazar la cuenta que salió de la cadena por otra.
Definir bien esta cadena es trabajo de implementación y se hace una vez: cuando en una factura aparece una cuenta que no corresponde, el lugar donde corregirla casi nunca es la factura, es el producto o su categoría.