# InvoiceLineItemInputDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Input DTO for creating or updating a line item on an invoice.
Computed fields (GrossAmount, DiscountAmount, NetAmount, TaxableAmount, TaxAmount, LineTotal) are
calculated server-side and should not be provided by the caller.

## Fields
- `parentLineItemId` (string(uuid)): Parent line item ID for bundle/discount/tax line hierarchies. (nullable)
- `name` (string): Product name snapshot (formal product name). (nullable, max length 200)
- `description` (string) required: Line item description shown on PDF and HPP. (nullable, max length 500)
- `notes` (string): Per-line notes visible to the biller only. (nullable, max length 500)
- `productId` (string(uuid)): Optional link to the product catalog. (nullable)
- `productCode` (string): SKU or product code. (nullable, max length 50)
- `unitOfMeasure` (string): Unit of measure (e.g., "each", "hour", "GB"). (nullable, max length 50)
- `commodityCode` (string): Commodity code sent as enhanced (Level 3) card data when the invoice is paid by card. At most  25 characters. (nullable, max length 25)
- `quantity` (number(double)): Quantity (default 1). (greater than 0)
- `unitPrice` (number(double)): Unit price. (min 0)
- `cost` (number(double)): Cost for margin tracking. (nullable)
- `pricingSource` ([PricingSource](https://devportal.demo.winkpg.io/docs/api/models/PricingSource.md)): How the unit price was determined. (nullable)
  Values:
  - `Catalog`: Price taken from the product catalog at time of invoicing.
  - `Override`: Price manually overridden by the user.
  - `Promotion`: Price determined by a promotion or coupon.
  - `Contract`: Price from a negotiated contract or quote.
- `discountType` ([DiscountType](https://devportal.demo.winkpg.io/docs/api/models/DiscountType.md)): Type of discount applied to this line item. (nullable)
  Values:
  - `Percent`: Percentage discount (e.g., 10%).
  - `Flat`: Flat dollar amount discount (e.g., $5.00).
- `discountValue` (number(double)): Discount value (percentage or flat amount). (nullable)
- `taxRateId` (string(uuid)): Reference to a reusable tax rate definition. (nullable)
- `taxRatePercent` (number(double)): Snapshot of the tax rate percentage. (nullable)
- `taxJurisdiction` (string): Tax jurisdiction (state/country). (nullable, max length 100)
- `taxRateSource` ([InvoiceTaxRateSource](https://devportal.demo.winkpg.io/docs/api/models/InvoiceTaxRateSource.md)): Optional. Where `taxRatePercent` came from. Provider is stored only when  `taxRateProviderName` is supplied and `taxRateId` is not; any other  combination is stored as Catalog when a rate id is named, otherwise Manual. Provenance is  recorded as supplied, like the percentage: the platform does not verify that a lookup ran. (nullable)
  Values:
  - `Manual`: The operator typed the percentage, or nothing recorded where it came from.
  - `Catalog`: The percentage was snapshotted from one of the biller's named tax rates.
  - `Provider`: The percentage was sourced from the merchant's bound tax provider.
- `taxRateProviderName` (string): Optional. The tax provider that sourced the percentage; meaningful only with a Provider source. (nullable, max length 50)
- `taxCode` (string): Tax code snapshotted from product or overridden. (nullable, max length 50)
- `isTaxable` (boolean): Whether tax applies to this line. (nullable)
- `isDiscountLine` (boolean): Indicates this is a discount adjustment line. (nullable)
- `isSystemGenerated` (boolean): Indicates this line was auto-generated. (nullable)
- `isOptional` (boolean): For quotes-to-invoices flow: whether this line is optional. (nullable)
- `revenueAccount` (string): GL account for revenue recognition. (nullable, max length 100)
- `recognitionStartDate` (string(date-time)): Revenue recognition start date. (nullable)
- `recognitionEndDate` (string(date-time)): Revenue recognition end date. (nullable)
- `attributes` (object): Extensibility metadata (key-value pairs). (nullable)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
