Saltar al contenido principal

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 page e indexSize.
  • 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.
    • startDate y endDate: Rango por fecha de emisión del documento.
    • startOperationDate y endOperationDate: 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).

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:

  1. Cabecera: Fechas, proveedor resuelto dinámicamente (ProviderName, ProviderVatNumber), forma de pago y observaciones.
  2. Bases e Impuestos (TaxBases): Desglose de bases imponibles, porcentajes de IVA soportado y retenciones de IRPF aplicables.
  3. Vencimientos de Pago (Installments): Cartera de efectos a pagar con fechas de vencimiento, importes y estado de liquidación.
  4. 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 contadores tValoresSeriesFacturacionCompras, verificando que no exista ninguna factura previa con ese número en tFacturasCompras y 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 documentNumber asignado se devuelve en el cuerpo de la respuesta (201 Created) y en la cabecera Location.
  • Manual: Si se indica un documentNumber explí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:

ValorNombre en EnumTipo Funcional en BaseGes (tFacturasCompras92)Descripción
0InvoiceFACTURAFactura ordinaria recibida (valor predeterminado).
1SimplifiedInvoiceFACTURA SIMPLIFICADAFactura simplificada / ticket recibido.
2InvoiceSummaryRESUMEN DE FACTURASAsiento resumen de facturas recibidas.
3DeductibleQuotaModel424CUOTA DEDUCIBLE (MODELO 424)Cuota deducible (Modelo 424).