# OfflineAdjustmentFields

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

Structured field bundle for the OfflineAdjustment operation. Each property is optional;
only the populated fields are applied to the transaction's settlement record and to the
transaction.
            
"Offline" means the adjustment is applied to the transaction's settlement record without
contacting the card network. Eligible fields are the tip, tax amount, Level 3 amount,
purchase order number, street and ZIP code; changing any other field requires a new
authorization. A tip adjustment is accepted only when the merchant's industry permits tips.

## Fields
- `tipAmount` (number(double)): Replacement gratuity in major currency units (e.g. `5.00` = $5.00). Mutates the  settlement `<Gratuity>` and `<SettlementAmount>` elements and  patches the transaction document's `/InvoiceData/Amounts/Tip` field when  populated. `0` is interpreted as "clear the existing tip". The transaction's  `Total` is intentionally not patched: `TrxAmounts.Total` is a computed  property (`Base + Tip + Tax + Shipping + Convenience`) re-derived on every  hydration, so the new tip flows through to the displayed Total automatically without  a stored mutation.  <b>Wired today.</b> Conditional: When TipAmount is not null. Must be >= 0. (nullable)
- `taxAmount` (number(double)): Replacement tax amount in major currency units. Settlement-only field: does not affect  the transaction's running total. Used for interchange-rate qualification on the batch.  <b>Not yet implemented.</b> (nullable)
- `level3Amount` (number(double)): Replacement level-3 line-item subtotal in major currency units. Settlement-only field  for level-3 (commercial card / GSA) interchange-rate qualification.  <b>Not yet implemented.</b> (nullable)
- `poNumber` (string): Replacement purchase-order number. Settlement-only field for level-3 / level-2  commercial-card data.  <b>Not yet implemented.</b> (nullable)
- `billingStreet` (string): Replacement AVS street value. Settlement-only field: used for retro AVS attachment  when the original auth was processed without AVS.  <b>Not yet implemented.</b> (nullable)
- `billingZip` (string): Replacement AVS postal/ZIP value. Settlement-only field: paired with  `billingStreet`.  <b>Not yet implemented.</b> (nullable)
- `isEmpty` (boolean): `true` when no fields are populated. An empty bundle is a caller  error: the OfflineAdjustment operation has nothing to apply. (read only)
- `isTipOnly` (boolean): `true` when only `tipAmount` is populated (or no fields,  but `isEmpty` would be checked first). Used by the contributor to  short-circuit the non-tip wiring path that does not yet exist. (read only)

## See also

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