changedInput schema / properties / business_name / description
Previous value: -"The name of the business issuing the invoice"New value: +"Name of the business or freelancer issuing the invoice, e.g. \"Acme Design Studio\""
addedInput schema / properties / business_name / minLength
Added value: +1
changedInput schema / properties / client_name / description
Previous value: -"The name of the client receiving the invoice"New value: +"Name of the client being billed, e.g. \"Globex Corp\""
addedInput schema / properties / client_name / minLength
Added value: +1
changedInput schema / properties / currency / description
Previous value: -"Currency code for the invoice, e.g. USD, EUR"New value: +"Three-letter currency code, case-insensitive: one of USD, EUR, INR, GBP, AED, SGD, AUD, CAD. Default USD."
changedInput schema / properties / discount_pct / description
Previous value: -"Discount rate as a percent, e.g. 10 for 10%"New value: +"Discount in percent of the subtotal, 0-100, e.g. 10 for 10% off. Default 0."
addedInput schema / properties / discount_pct / maximum
Added value: +100
addedInput schema / properties / discount_pct / minimum
Added value: +0
changedInput schema / properties / due_in_days / description
Previous value: -"Number of days until the invoice is due"New value: +"Payment term in days from today; sets due_date and 'Net N' terms. Default 14."
changedInput schema / properties / invoice_number / description
Previous value: -"Unique identifier for the invoice"New value: +"Invoice number to use, e.g. \"INV-2026-042\". If omitted, one is generated as INV-YYYYMMDD-NNNN."
changedInput schema / properties / items / description
Previous value: -"Array of objects, each with name, quantity, and unit_price"New value: +"Line items (at least one), each {description, quantity, unit_price}; line amount = quantity x unit_price."
addedInput schema / properties / items / items / properties / description / description
Added value: +"What was sold or done, e.g. \"Logo design\" or \"Consulting hours\""
addedInput schema / properties / items / items / properties / description / minLength
Added value: +1
addedInput schema / properties / items / items / properties / quantity / description
Added value: +"Quantity or hours, must be > 0, e.g. 10"
addedInput schema / properties / items / items / properties / quantity / exclusiveMinimum
Added value: +0
addedInput schema / properties / items / items / properties / unit_price / description
Added value: +"Price per unit in the invoice currency, >= 0, e.g. 50"
addedInput schema / properties / items / items / properties / unit_price / minimum
Added value: +0
addedInput schema / properties / items / minItems
Added value: +1
changedInput schema / properties / notes / description
Previous value: -"Any additional notes or comments for the invoice"New value: +"Free-text notes printed on the invoice, e.g. payment instructions. Default empty."
changedInput schema / properties / tax_rate_pct / description
Previous value: -"Tax rate as a percent, e.g. 20 for 20%"New value: +"Tax rate in percent, 0-100, applied after the discount, e.g. 18 for 18% GST. Default 0."
addedInput schema / properties / tax_rate_pct / maximum
Added value: +100
addedInput schema / properties / tax_rate_pct / minimum
Added value: +0
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "business_name": {
+ "description": "Issuing business name as given.",
+ "type": "string"
+ },
+ "client_name": {
+ "description": "Billed client name as given.",
+ "type": "string"
+ },
+ "currency": {
+ "description": "Upper-case currency code, e.g. USD.",
+ "type": "string"
+ },
+ "date": {
+ "description": "Issue date, today in UTC, YYYY-MM-DD.",
+ "type": "string"
+ },
+ "discount": {
+ "description": "Discount amount = subtotal x discount_pct / 100.",
+ "type": "number"
+ },
+ "discount_pct": {
+ "description": "Discount percent that was applied.",
+ "type": "number"
+ },
+ "due_date": {
+ "description": "Due date, YYYY-MM-DD (issue date + due_in_days).",
+ "type": "string"
+ },
+ "invoice_number": {
+ "description": "Invoice number (given or generated INV-YYYYMMDD-NNNN).",
+ "type": "string"
+ },
+ "items": {
+ "description": "Line items echoed back as provided.",
+ "items": {
+ "properties": {
+ "description": {
+ "description": "What was sold or done, e.g. \"Logo design\" or \"Consulting hours\"",
+ "minLength": 1,
+ "type": "string"
+ },
+ "quantity": {
+ "description": "Quantity or hours, must be > 0, e.g. 10",
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "unit_price": {
+ "description": "Price per unit in the invoice currency, >= 0, e.g. 50",
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "description",
+ "quantity",
+ "unit_price"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "notes": {
+ "description": "Notes text (empty string if none).",
+ "type": "string"
+ },
+ "payment_terms": {
+ "description": "Payment terms label, e.g. 'Net 14'.",
+ "type": "string"
+ },
+ "subtotal": {
+ "description": "Sum of quantity x unit_price, rounded to 2 dp.",
+ "type": "number"
+ },
+ "symbol": {
+ "description": "Currency symbol used when rendering, e.g. $.",
+ "type": "string"
+ },
+ "tax": {
+ "description": "Tax amount = (subtotal - discount) x tax_rate_pct / 100.",
+ "type": "number"
+ },
+ "tax_rate_pct": {
+ "description": "Tax rate percent that was applied.",
+ "type": "number"
+ },
+ "total": {
+ "description": "Amount due = subtotal - discount + tax.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "invoice_number",
+ "date",
+ "due_date",
+ "business_name",
+ "client_name",
+ "currency",
+ "symbol",
+ "items",
+ "tax_rate_pct",
+ "discount_pct",
+ "subtotal",
+ "discount",
+ "tax",
+ "total",
+ "notes",
+ "payment_terms"
+ ],
+ "type": "object"
+}