Order management
What happens to an order after the customer pays, and how to refund, capture or cancel it from the Odoo back office.
Transaction states
The app maps Buckaroo transaction results onto Odoo transaction states, which then drive the sale order and the payment record.
| Odoo state | When it applies |
|---|---|
| Draft | Transaction created, payment not yet attempted. |
| Pending | Waiting on the customer, the bank or a review. Common with Bank Transfer and PayPerEmail. |
| Authorized | The amount is reserved but not yet collected. |
| Done | Payment confirmed. The payment record is created. |
| Cancelled | Cancelled by the customer or by you. |
| Error | The payment was rejected or failed. |
The state is set from the push message Buckaroo sends server to server, not from the customer's return to your webshop. That means an order still reaches the right state when the customer closes their browser mid-payment.
A transaction stuck in Pending long after the customer says they paid almost always means the push message didn't arrive. See Troubleshooting.
Pending payments that settle later
Not every method confirms instantly. Bank Transfer can take days, and PayPerEmail waits for the customer to open their link. Some Buy Now Pay Later methods hold an order for review. These transactions sit in pending until Buckaroo sends a push with the final result, which is why your push endpoint needs to keep working long after the customer has gone.
Authorise and capture
Some methods support deferred sales. The amount is authorised (reserved on the customer's card or account) at checkout and captured (actually taken) later. This is available on Credit Card and Riverty, when their Payment Action is set to Authorize.
| Action | How | Effect |
|---|---|---|
| Authorise | Automatic at checkout when the method is configured for it | Funds reserved, not taken |
| Capture | Capture Transaction on the transaction or payment | Funds taken |
| Cancel authorisation | Void Transaction | Reservation released |
Captures are for the full amount. Partial captures are not supported.
Capturing on time is your responsibility. Authorisations expire, and the window varies by method. If you don't capture before expiry the reservation lapses, the money is never collected, and you'll have to ask the customer to pay again. Capture as soon as you're able to ship.
If the capture is done in Buckaroo Plaza rather than in Odoo, the app picks it up from the push message and records it as a separate transaction under the original authorisation. You don't need to register anything by hand.
Refunds
Refunds are issued from the customer's credit note, so the accounting entry and the refund are created together.
- Open the paid invoice and create a credit note.
- Post the credit note.
- Select Buckaroo Refund in the header.
- Confirm the amount in the refund wizard.
The button only appears when the credit note is posted, is linked to a Buckaroo payment that is done, and that payment still has an amount available to refund.
How long the customer waits depends on the method. Card refunds typically take several working days; bank-based methods are usually faster.
If a credit note is linked to more than one Buckaroo payment, refund each payment record separately rather than from the credit note.
Partial refunds
Most methods support partial refunds. Create a credit note for the specific items or a custom amount. You can issue several partial refunds up to the original transaction total.
Riverty refunds issued from Odoo must be for the full amount. For a partial Riverty refund, use Buckaroo Plaza.
Refunds started in Buckaroo Plaza
Refund from Odoo wherever you can. It keeps Odoo as the single source of truth and creates the credit note alongside the refund.
If you do refund in Plaza, the app picks it up from the push message and records it in Odoo as a separate refund transaction linked to the original payment. You don't need to register anything by hand, but you do still need the credit note for your administration.
Never refund the same order in both systems. Doing so can refund the customer twice.
Cancel an order
Cancelling an authorised transaction with Void Transaction releases the reservation at Buckaroo. Transactions that have already been captured must be refunded instead.
Transactions in Buckaroo Plaza
Odoo shows you the order. Plaza shows you the payment, including the full status history, the raw push messages, and any provider-side detail such as a card decline code. When you're diagnosing a specific failed payment, Plaza is usually where the answer is.
In Odoo, the Buckaroo transaction key is stored as the provider reference on the transaction, under Invoicing → Configuration → Payment Transactions. That's the value to search on in Plaza.
The full history for a payment is under Transactions in Plaza.
Updated 18 minutes ago