{ "$defs": { "Line": { "additionalProperties": false, "properties": { "sku": { "anyOf": [ { "maxLength": 100, "type": "string" }, { "type": "null" } ], "default": null, "title": "Sku" }, "description": { "anyOf": [ { "maxLength": 500, "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "quantity": { "anyOf": [ { "maximum": 1000000.0, "minimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "default": null, "title": "Quantity" }, "unit_price": { "anyOf": [ { "maximum": 1000000000.0, "minimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "default": null, "title": "Unit Price" }, "amount": { "anyOf": [ { "maximum": 1000000000000.0, "minimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "default": null, "title": "Amount" } }, "title": "Line", "type": "object" }, "Source": { "properties": { "field": { "maxLength": 100, "title": "Field", "type": "string" }, "page": { "maximum": 10, "minimum": 1, "title": "Page", "type": "integer" }, "excerpt": { "maxLength": 1000, "minLength": 1, "title": "Excerpt", "type": "string" } }, "required": [ "field", "page", "excerpt" ], "title": "Source", "type": "object" } }, "additionalProperties": false, "properties": { "vendor": { "anyOf": [ { "maxLength": 300, "type": "string" }, { "type": "null" } ], "default": null, "title": "Vendor" }, "number": { "anyOf": [ { "maxLength": 100, "type": "string" }, { "type": "null" } ], "default": null, "title": "Number" }, "date": { "anyOf": [ { "maxLength": 40, "type": "string" }, { "type": "null" } ], "default": null, "title": "Date" }, "currency": { "anyOf": [ { "pattern": "^[A-Z]{3}$", "type": "string" }, { "type": "null" } ], "default": null, "title": "Currency" }, "subtotal": { "anyOf": [ { "maximum": 1000000000000.0, "minimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "default": null, "title": "Subtotal" }, "tax": { "anyOf": [ { "maximum": 1000000000000.0, "minimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "default": null, "title": "Tax" }, "total": { "anyOf": [ { "maximum": 1000000000000.0, "minimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "default": null, "title": "Total" }, "lines": { "items": { "$ref": "#/$defs/Line" }, "maxItems": 100, "title": "Lines", "type": "array" }, "sources": { "items": { "$ref": "#/$defs/Source" }, "maxItems": 100, "title": "Sources", "type": "array" }, "notes": { "items": { "type": "string" }, "maxItems": 20, "title": "Notes", "type": "array" } }, "title": "Document", "type": "object" }