Overrides
UsePOST /transaction/override when a manager needs to adjust the rounded cash total on a completed transaction. The override is applied on top of the original transaction and creates its own audit record with a separate override hash.
Required fields:
| Field | Type | Description |
|---|---|---|
transaction_id | string | ID of the transaction to override |
employee_id | string | ID of the employee authorizing the override |
employee_name | string | Name of the employee authorizing the override |
reason | string | One of: customer-request, manager-discretion, pricing-error, system-error |
new_cash_total_cents | integer | The corrected cash total in cents |
Each override creates an immutable audit record with a separate override hash. The original transaction record is not modified — the override is stored as a linked correction in the hash chain.
Voids
UsePOST /transaction/void to cancel a transaction. The API creates a reversal record with negative amounts and maintains hash chain integrity. The original rounding delta is correctly reversed in the void record.
Required fields:
| Field | Type | Description |
|---|---|---|
original_transaction_id | string | ID of the transaction to void |
void_reason | string | One of: customer_changed_mind, pricing_error, duplicate_transaction, employee_error, fraud_suspected |
voided_by | string | Employee ID or identifier of the person authorizing the void |
The rounding delta from the original transaction is correctly reversed in the void record. Hash chain integrity is maintained — the void is appended as a new entry linked to the original transaction.
Refunds
UsePOST /transaction/refund to process a partial or full refund. The engine verifies that the refund’s rounding direction correctly reverses the original transaction’s rounding delta.
Required fields:
| Field | Type | Description |
|---|---|---|
original_transaction_id | string | ID of the transaction to refund |
refund_amount | integer | Refund amount in cents |
void_reason | string | One of: defective_product, customer_dissatisfied, wrong_item, price_adjustment |
voided_by | string | Employee ID or identifier of the person processing the refund |
If the refund’s rounding delta doesn’t correctly reverse the original transaction’s rounding direction, the engine flags a normalization failure in the response. Normalization failures are recorded for compliance review but do not block the refund from completing.