Facturas de Compra (/purchaseinvoices)
Permite la consulta, detalle, creación y validación de facturas recibidas de proveedores y acreedores en BaseGes ERP.
1. Consulta y Filtros
- Paginación: Controlada por
pageeindexSize. - Filtros de Segmentación:
providerCode: Código del proveedor.year: Ejercicio fiscal de la factura.series: Código de serie con soporte de relleno automático de ceros.startDateyendDate: Rango por fecha de emisión del documento.startOperationDateyendOperationDate: Rango por fecha de devengo/operación.
- Búsqueda global (
search): Búsqueda parcial sobre:- Número de factura del proveedor (
ProviderInvoiceNumber/tCompras103). - Observaciones de la factura (
Observations.Description/tCompras17). - Nombre del proveedor en el maestro de contactos (
tProveedores2).
- Número de factura del proveedor (
2. Detalle Completo de Factura de Compra
Al consultar el detalle mediante Year, Serie y Number, la API devuelve una estructura jerárquica que agrupa:
- Cabecera: Fechas, proveedor resuelto dinámicamente (
ProviderName,ProviderVatNumber), forma de pago y observaciones. - Bases e Impuestos (
TaxBases): Desglose de bases imponibles, porcentajes de IVA soportado y retenciones de IRPF aplicables. - Vencimientos de Pago (
Installments): Cartera de efectos a pagar con fechas de vencimiento, importes y estado de liquidación. - Cuentas de Gasto PGC (
ExpenseAccounts): Imputación contable al Plan General Contable (cuentas del grupo 600, 62X, etc.).
3. Alta de Factura de Compra y Numeración Automática (POST /purchaseinvoices)
Comportamiento de documentNumber (Generación y Reserva Automática)
El campo documentNumber es opcional (máximo 8 caracteres, normalizado con ceros a la izquierda):
- Automático (Recomendado): Si se omite (
null) o se envía vacío (""), la API genera y reserva de forma atómica el siguiente número correlativo disponible para la combinación de ejercicio (year) y serie (invoiceSerieCode) en la tabla de contadorestValoresSeriesFacturacionCompras, verificando que no exista ninguna factura previa con ese número entFacturasComprasy evitando colisiones bajo peticiones concurrentes.- La reserva se realiza dentro de la misma transacción que el alta de la factura: si la validación previa falla o la operación no llega a confirmarse, no se consume ningún número del contador.
- El
documentNumberasignado se devuelve en el cuerpo de la respuesta (201 Created) y en la cabeceraLocation.
- Manual: Si se indica un
documentNumberexplícito, la API aplica relleno a 8 dígitos y valida que no exista duplicado.
Mapa de Valores de invoiceType (PurchaseInvoiceType)
El campo invoiceType es opcional y admite valores numéricos (0–3). Si se omite o no coincide con ninguno de los valores definidos, se asigna 0 (FACTURA) de forma predeterminada:
| Valor | Nombre en Enum | Tipo Funcional en BaseGes (tFacturasCompras92) | Descripción |
|---|---|---|---|
0 | Invoice | FACTURA | Factura ordinaria recibida (valor predeterminado). |
1 | SimplifiedInvoice | FACTURA SIMPLIFICADA | Factura simplificada / ticket recibido. |
2 | InvoiceSummary | RESUMEN DE FACTURAS | Asiento resumen de facturas recibidas. |
3 | DeductibleQuotaModel424 | CUOTA DEDUCIBLE (MODELO 424) | Cuota deducible (Modelo 424). |