{ "title": "Sage Sales Invoice Structure", "description": "JSON structure documentation for a Sage Accounting sales invoice representing a customer billing record", "type": "object", "structure": { "id": {"type": "string", "description": "Unique invoice identifier (UUID)"}, "displayed_as": {"type": "string", "description": "Human-readable invoice reference number (e.g., SI-001)"}, "date": { "type": "string", "format": "date", "description": "Invoice date in YYYY-MM-DD format" }, "due_date": { "type": "string", "format": "date", "description": "Payment due date in YYYY-MM-DD format" }, "contact": { "type": "object", "description": "Customer contact reference", "properties": { "id": {"type": "string", "description": "Contact unique identifier"}, "displayed_as": {"type": "string", "description": "Contact display name"} } }, "reference": {"type": "string", "description": "Optional customer or purchase order reference"}, "status": { "type": "string", "description": "Invoice status: DRAFT, SUBMITTED, OUTSTANDING, OVERDUE, PAID, VOID" }, "net_amount": {"type": "number", "description": "Invoice subtotal before tax"}, "tax_amount": {"type": "number", "description": "Total tax applied"}, "total_amount": {"type": "number", "description": "Total invoice amount including tax"}, "outstanding_amount": {"type": "number", "description": "Amount remaining unpaid"}, "currency": { "type": "object", "description": "Currency for this invoice", "properties": { "id": {"type": "string", "description": "ISO 4217 currency code (e.g., GBP, USD, EUR)"} } }, "invoice_lines": { "type": "array", "description": "Line items on the invoice", "items": { "type": "object", "properties": { "description": {"type": "string", "description": "Line item description"}, "quantity": {"type": "number", "description": "Quantity of units"}, "unit_price": {"type": "number", "description": "Price per unit"}, "net_amount": {"type": "number", "description": "Line item net total"}, "tax_amount": {"type": "number", "description": "Line item tax total"} } } }, "created_at": {"type": "string", "format": "date-time", "description": "ISO 8601 creation timestamp"}, "updated_at": {"type": "string", "format": "date-time", "description": "ISO 8601 last update timestamp"} }, "required": ["id", "date", "contact", "status", "total_amount"] }