FacturaCompraApiRequestDto
Schema completo del request body de POST /api/v1/facturas-compra.
interface FacturaCompraApiRequestDto {
/** OBLIGATORIO. Usuario del tenant al que se atribuye el comprobante. Igual que en ventas. */
idUsuario: number;
/** OBLIGATORIO. El proveedor. */
emisor: FacturaCompraApiEmisorDto;
/**
* Punto de venta emisor. Opcional; si se omite, el comportamiento no cambia
* respecto de v1.2. Determina qué sucursal/terminal llevan el consecutivo y
* la clave de Hacienda. Los ids del tenant los lista GET /catalogos/puntos-venta.
*/
idPuntoVenta?: number | null;
/** Código condición de venta. Ver catálogo Hacienda. Default "01" (Contado). */
condicionVenta: string;
/** Plazo en días si condicionVenta="02". */
plazoCredito?: number;
/** Código medio de pago. Ver catálogo Hacienda. Default "01" (Efectivo). */
medioPago: string;
/** Código moneda ISO. "CRC" o "USD". Default "CRC". */
moneda: string;
/** Código de tipo de transacción Hacienda. Default "01". */
tipoTransaccion: string;
/** Código actividad económica bajo la que se emite. Si se omite, usa la principal del tenant. */
codigoActividad?: string | null;
/** Código actividad económica del receptor. */
codigoActividadReceptor?: string | null;
/** Texto libre con comentarios visibles en el PDF y XML. */
comentario?: string | null;
/** OBLIGATORIO. Al menos 1 línea. */
lineas: FacturaCompraApiLineaDto[];
}Validaciones por campo
| Campo | Regla | Error si falla |
|---|---|---|
idUsuario | Entero ≥ 1, correspondiente a un usuario existente del tenant. | 400 |
emisor | Con idEmisor o identificacion. | 400 — Debe indicar idEmisor o identificacion del proveedor. |
idPuntoVenta | Opcional. Si viene, debe ser un punto de venta del tenant — los lista GET /catalogos/puntos-venta. | 400 |
condicionVenta | String de 2 caracteres según catálogo Hacienda. | 400 o validación Hacienda 9015 |
medioPago | String de 2 caracteres según catálogo Hacienda. | 400 o validación Hacienda |
moneda | "CRC" o "USD". | — |
lineas | Array con al menos un elemento. | 400 — Debe incluir al menos una línea. |
A diferencia de
FacturaApiRequestDto, aquí no existentiponireferencias: el tipo siempre es08y una factura de compra no referencia comprobantes previos.