Refunds
All clients should send a new refund Order that is unattached from any original order it may be related to. I.e. a refund is modelled in the Loaded API as an independent Order that, where necessary in reports within the Loaded system, will effectively cancel out any earlier Order that represents the original item being purchased.
Create a refund order
A refund is sent to Loaded as an Order with the status of Refunded
. Each item that is being refunded also has a settlementStatus
of Refunded
too. The unitPrice of the items remains positive representing what was originally paid for the items being refunded.
Any Tenders that were processed are expected to have a negative invoiceAmount
value to represent the money being returned to the customer.
Example
curl \
-X POST \
-d '{ "externalId": "refund:my-order-id-1", "createdAt": "2023-07-02T20:10:00Z", "completedAt": "2023-07-02T20:10:00Z", "status": "Refunded", "items": [ { "externalId": "my-espresso-item-id", "requestedTime": "2023-07-02T11:30:00Z", "quantity": 1, "unitPrice": 5, "unitTax": 0.65, "settlementStatus": "Refunded" } ], "tenders": [ { "externalId": "my-tender-id-5", "tenderedAt": "2023-07-02T20:10:00Z", "type": "Cash", "invoiceAmount": -5 } ] }' \
-H "Content-Type: application/json" \
-H '"Authorization=Bearer {token}"' \
https://api.loadedreports.com/v1/pos/orders
For a full worked example of a refund order see the Refund an order section of the Tutorial.