# EditVendorInvoiceInput

input type

Edit-input for a VendorInvoice. Every field optional, at least ONE required; supplied fields REPLACE, omitted fields are preserved. DRAFT-ONLY WHOLESALE: date/lines/components/total/notes + caption while draft; the PO parent, the billing vendor, and the invoice number are BIRTH-FIXED (the marker identity — re-key = cancel + recreate, the marker takeover covers the same number); a write in an immutable terminal (captured / cancelled) refuses CONFLICT/IMMUTABLE.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | No further notes. |
| `invoiceDate` | [String](/types/#scalars) | no | No further notes. |
| `matchLines` | [VendorInvoiceMatchLineInput](/types/VendorInvoiceMatchLineInput/) `[VendorInvoiceMatchLineInput!]` | no | The wholesale match-line replacement (draft-only); an EMPTY array clears the merchandise lines — substance re-checked against the effective components. |
| `actualComponents` | [LandedCostComponentInput](/types/LandedCostComponentInput/) `[LandedCostComponentInput!]` | no | The wholesale component replacement (draft-only); an EMPTY array clears the cost bill — substance re-checked against the effective match lines. |
| `total` | [MoneyEntryInput](/types/MoneyEntryInput/) | no | No further notes. |
| `notes` | [String](/types/#scalars) | no | No further notes. |

## Used by

- [updateVendorInvoice](/reference/vendor-invoice/updateVendorInvoice/)
