Does BNPL Raise Odoo Store Sales? What Changes at Checkout

Before enabling Tabby and Tamara in Odoo: what changes in the shopper's journey, where it wins and loses sales, and how to measure it from your own data.

Every Odoo store owner reaches the same question sooner or later: should I bother with instalments? The answer you usually hear is a number, "it lifts sales by X percent". This article does not give you one, because a figure that did not come from your own store is not something to base a decision on. What it gives you instead: what actually changes in the customer's journey when you switch on Tabby & Tamara for Odoo, where it can win you sales, where it can lose them, and how to measure the difference from Odoo's own data.

Everything below follows the module's code. It says nothing about Tabby's or Tamara's rates or approval percentages. Those depend on your contract, so ask them directly.

What changes in the journey

Without instalments a shopper goes from product page to cart to a card or transfer payment. With the module, four things change, and each can be judged on its own:

  1. Product page and cart: a small line appears under the price, such as "4 interest-free payments of 73.75 SAR", and it updates with quantity and variant. The details are in the instalment badge under the product price.
  2. Checkout: Tabby, Tamara or both show up as payment methods next to the others.
  3. The hand-off: the shopper leaves for the provider's hosted page, approves there, and comes back to your store.
  4. Confirmation: Odoo does not trust the shopper's return. It asks the provider directly for the payment's status and only then decides. That is why an order cannot be confirmed by mistake, and it is covered in the security article.

The first change works on the buying decision itself. A shopper looking at 295 SAR thinks differently from one looking at four payments of about 74. That is the whole reason the badge exists. The third and fourth are where you can lose people, because every extra step between "I'll buy" and "done" is a place to leave.

Where it can win

Do not expect gains everywhere. The places where the logic is clear:

  • Larger baskets. The bigger the amount, the heavier the decision, and splitting it lightens that. A store whose baskets are all small will feel little.
  • Shoppers whose card does not fit. Some can afford the item but do not want one large charge, or their card is not set up for online use. Instalments open a door for them.
  • Competing on the same product. If a rival offers instalments and you do not, shoppers compare more than the price.

All of these depend on your audience. A shop selling 30 SAR subscriptions is not a shop selling 3,000 SAR devices. If you are torn between the two providers, the Tabby vs Tamara comparison helps you pick before you measure.

Where it can lose

This is the part few people write about, and it is what separates a good trial from a frustrating one.

The hand-off is a step that did not exist

Paying by card on your page keeps the shopper on your page, or sends them to a short gateway. With Tabby and Tamara they land on the provider's page, where they may need to sign in, open an account or accept a plan. Some will come back and some will not. The module treats each return differently: an expired checkout turns the transaction cancelled, a provider refusal turns it into an error, and one the shopper came back from without finishing stays pending. If the shopper closes the tab and never returns, the transaction stays in draft for as long as Odoo hears nothing more. Orders do not vanish silently, they show up with their state in the transaction list.

The provider can say no

The provider decides whether to approve a shopper, not you and not Odoo. If Tabby rejects the order, the shopper sees a message asking them to pick another payment method. We cannot tell you what share get declined, and nobody can without your store's data. But know the scenario exists and keep a fallback ready: card or transfer, so instalments are never your only way to pay. With both providers switched on, the other one is the natural fallback. Where a refused shopper lands in each Odoo version, and how to pass them to the second provider, is covered in the comparison of the two.

The mobile number on Tamara

Tamara requires the shopper's mobile number. If the address in Odoo has none, the module stops the order with a message saying Tamara needs a mobile number and asking for one. That can cost you guest shoppers if your address form does not require a phone. Check the form before enabling Tamara. Tabby is less strict: with no number, the module still opens the checkout but sends Tabby a placeholder instead of your customer's number.

The provider's page in the wrong language

The module asks Tabby and Tamara to open their page in Arabic when the customer's contact in Odoo is set to Arabic, and in English for any other language. A shopper who types their address at checkout is covered, because Odoo saves the language they were browsing the shop in on their contact. The gap is contacts your team creates. Odoo usually gives a new contact the language of the employee who created it, so a customer who reads Arabic, added by a colleague who works in English, lands on an English page. You meet those contacts mostly on quotations and invoices, which is the next section.

Currency

The module hides Tabby and Tamara for any currency outside the six supported: Saudi riyal, UAE dirham, Kuwaiti, Bahraini and Omani dinar, and Qatari riyal. If your pricelist is in another currency the shopper never sees the button, and you may conclude instalments do nothing when they never appeared. See the GCC currencies article.

A badge without a button

The badge is rendered in the website currency and does not check provider support. A shopper could read "4 payments" and then find no Tabby at checkout. Promising something you cannot deliver is worse than not promising.

Sales that never touch the cart

Plenty of Gulf businesses close a sale in a WhatsApp chat, an Instagram message or a phone call, then send a quotation or an invoice to collect. If instalments live only in the web cart, those customers never see them, and a trial that measures the cart alone misses them. The module offers Tabby and Tamara on the customer portal as well, on quotations and on invoices, so the same choice reaches a sale your team closes by hand.

A quotation the customer pays to confirm

In the Sales settings, under Quotations & Orders, turn on Online Payment. From Odoo 17 on you also set the share of the total the customer pays to confirm, and each quotation can change it on its Other Info tab. The customer opens the quotation, signs if you asked for a signature, and pays with Tabby, Tamara or any other published method. Once the provider confirms the payment, Odoo confirms the quotation. If you also turned on Automatic Invoice, which Odoo offers when you invoice ordered quantities, it issues the invoice and records it as paid.

When that share is under 100 percent, the customer chooses between the down payment and the full amount, and the instalment plan covers whichever they pick. A deposit paid in instalments is still a deposit: the rest of the order stays open until it is paid.

An invoice with a pay button

Invoices work the same way. Invoice Online Payment, under Customer Payments in the Invoicing settings (Accounting on Enterprise), is on by default. It puts a payment section on the invoice's portal page, with Tabby and Tamara next to your other methods, and when the provider confirms, Odoo records the payment against that invoice.

A link you can paste into a chat

You do not have to wait for the customer to open an email. On a quotation or an invoice, open the Actions menu, the gear next to the record's name, and choose Generate a Payment Link. Odoo fills in the amount, which you can lower, and from Odoo 17 on it tells you whether that payment will confirm the quotation. Paste the link into the chat where you closed the sale. The customer opens it on their phone and pays with Tabby or Tamara, provided the contact passes the checks below.

Check the contact before you send

A sale closed by hand usually runs on a contact someone typed in a hurry, and that is where these payments break. The contact that counts is the one the document is billed to, which on a quotation is its invoice address. Before you send anything, check:

  • Phone. Up to Odoo 18 a contact has two number fields, Phone and Mobile, and Odoo copies only Phone onto the payment. A number typed only under Mobile counts as no number: Tamara refuses to start and the customer gets the message asking for a mobile number, while Tabby goes ahead with a placeholder in place of your customer's number.
  • Email. With none, the module sends both providers a placeholder address. From Odoo 18 the link window warns you about this, so do not click past it.
  • Language. Set it to Arabic for a customer who reads Arabic, so the provider's page opens in Arabic.
  • Currency. A quotation takes its currency from its pricelist and an invoice carries its own. Outside the six GCC currencies neither provider appears, as in the currency section above.
  • Published. A provider that is not published is hidden from customers on the portal too, and from Odoo 16 on, test mode unpublishes it. You still see it when you open the same link while signed in to Odoo, so open your own link in a private window before you trust it. Why a payment provider is not showing in Odoo explains the two switches.

The costs that do not show at checkout

The decision is not only "how much do I gain". There are costs to count first:

  • Provider fees. They come from your contract and we do not quote a rate for either provider. Get it in writing and work out the effect on your margin.
  • Refunds. Refunding an instalment order goes through the provider. See the refunds article.
  • Accounting. What the provider pays you differs from the order totals, so you need to match them. We cover that in the payout reconciliation article.

Measure it instead of guessing

The best evidence is not an article, it is your data. A plan:

  1. Before switching on, record your current numbers for two or three weeks: confirmed orders, average order value, abandoned carts.
  2. Rehearse in test mode following the pre-launch testing guide, and check that success, cancel and decline each come back with the right state.
  3. Go live and wait a similar period, then compare. The transaction list is under Invoicing (Accounting on Enterprise), Configuration, Online Payments, Payment Transactions, and it only appears with developer mode on. On Odoo 16 the middle menu is called Payments. Group the list by Provider, then by Status. Confirmed is paid, Canceled is an expired or cancelled checkout, Error is a refusal, Pending is a shopper who came back without finishing, and Draft is a hand-off Odoo never heard back from. Open any Pending or Draft row older than a day: it may be an approval that never reached Odoo, and the testing guide above shows how to finish it. Payments made on quotations, invoices and payment links land in the same list.
  4. Watch average order value. If it rises with instalments, that is often the real effect, more than the order count.
  5. Do not judge from one week. A season, a campaign or a holiday wrecks the comparison. Take a reasonable window and avoid exceptional periods.

And change only one thing. If you alter prices or start an ad campaign in the same window, you cannot tell what caused the difference.

Is it worth it?

If your products sit in the middle to upper price range, your customers are in the Gulf, and you have time to fix the address form and test, the trial usually costs you setup time plus the fee on whatever customers actually use. If your baskets are tiny or your currency is outside the six, the upside is smaller, and you know your shop better than we do. If most of your sales close in a chat rather than the cart, judge the trial by the quotations and invoices paid in instalments, not by the checkout alone.

It is also reversible: disable the provider on its form and checkout goes back to how it was. This is not a marriage.

If you decide to try, start with the Tabby setup guide, or the Tamara setup guide if that is your pick. Tabby & Tamara for Odoo puts both in a single module.

Frequently asked

Does offering instalments actually raise my sales?

We cannot give you a number, because it depends on your prices and audience. The reliable way is to measure it from your own data: record orders and average order value before switching on, then compare over a similar period afterwards.

What happens to the order if the shopper does not finish paying at Tabby or Tamara?

It does not vanish. An expired checkout becomes cancelled, a refusal by the provider becomes an error, and one the shopper came back from without finishing stays pending. If they closed the tab and never came back, it stays in draft. All of them show up in the payment transaction list with their state.

Why can some shoppers not pay with Tamara?

The most common reason is a missing mobile number on the address, which Tamara requires, so the module stops the order and asks for one. Make sure your address form requires a phone. The other reason is a currency outside the six supported.

Can I try instalments and back out?

Yes. Disable the provider on its form and checkout returns to your other methods; past orders stay as they are. Refunds on earlier instalment orders still go through the provider.

Should instalments be my only payment method?

No, and it is better not to. The provider decides whether to approve a shopper, so always keep an alternative such as card or transfer for anyone who is declined or prefers not to proceed.

Can customers pay a quotation or an invoice with Tabby or Tamara, not only the web cart?

Yes. The module offers both providers on portal quotations and invoices, and Odoo's Generate a Payment Link turns either one into a link you can send in a chat. Before sending, check that the billed contact has a number in the Phone field, an email and the right language, and that the document is in one of the six GCC currencies.

One payment, for all your stores

$200
Buy on the Apps Store Talk to us first

Articles