Schemas
Schemas
Section titled “Schemas”Common data models used across Kreyo APIs.
InvoiceData
Section titled “InvoiceData”Core invoice data structure:
interface InvoiceData { number: string; date: string; // ISO 8601 due_date?: string; currency?: string; // default: "EUR" seller: Party; buyer: Party; lines: InvoiceLine[]; subtotal?: number; vat_breakdown?: VatEntry[]; vat_total?: number; total: number;}Seller or buyer information:
interface Party { nif: string; // Spanish tax ID name: string; address?: string; city?: string; postal_code?: string; country?: string; // default: "ES" email?: string;}InvoiceLine
Section titled “InvoiceLine”Individual line item:
interface InvoiceLine { description: string; quantity: number; unit_price: number; total: number; vat_rate?: number; // e.g., 21 for 21%}VatEntry
Section titled “VatEntry”VAT breakdown entry:
interface VatEntry { rate: number; // 0, 4, 10, 21 base: number; amount: number;}VeriFactuRecord
Section titled “VeriFactuRecord”VeriFactu-specific record data:
interface VeriFactuRecord { type: 'Alta' | 'Modificacion' | 'Anulacion'; invoice: InvoiceData; certificate_id: string; modification_reason?: string;}FacturaEOptions
Section titled “FacturaEOptions”FacturaE generation options:
interface FacturaEOptions { schema_version?: '3.2.2'; modality?: 'I' | 'L'; invoice_issuer_type?: 'EM' | 'RE' | 'TR'; self_billing?: boolean;}