Mastering Payment Methods in Odoo 18 POS: Complete Configuration Guide
By Braincuber Team
Published on February 3, 2026
Flexibility at the checkout is key to a smooth retail experience. Whether your customers prefer paying with cold hard cash, tapping their card, or putting it on their "store tab", Odoo 18 Point of Sale handles it all.
In this tutorial, we will configure a complete payment ecosystem for a hypothetical "Urban Grind Coffee Shop". We will set up multiple payment options including Cash, Bank Transfers, and Customer Credit.
Cash & Bank
Standard journals for daily cash drawer reconciliation and direct bank transfers.
Customer Accounts
Allow trusted customers to buy now and pay later (Store Credit/Tab).
Terminals
Integrate hardware terminals like Adyen, Stripe, or Worldline for cards.
Split Payments
Combine multiple methods in a single order (e.g., $10 Cash + $5 Card).
Step 1: Accessing Payment Configuration
Before selling, we need to tell Odoo what forms of money we accept. Navigate to the Point of Sale module.
Path: Point of Sale > Configuration > Payment Methods
Here you will see a list of existing methods. Let's create new ones for our Coffee Shop.
Step 2: Configuring "Cash" (The Basic)
Cash handling requires a specific journal to track the physical money in the drawer.
<1. Click New. 2. Method Name: "Cash (USD)" 3. Journal: Select your "Cash" journal. 4. Intermediary Account: Usually empty (uses default) or a specific transit account. 5. Identify Customer: Unchecked (Cash sales are usually anonymous).Step 3: Configuring "Bank/Card"
For external card readers that aren't integrated (standalone terminals), use the Bank type.
1. Click New. 2. Method Name: "Card Terminal" 3. Journal: Select your "Bank" journal. 4. Outstanding Account: Select "Payments Pending" (optional, for reconciliation).Step 4: Configuring "Customer Tab" (Credit)
This allows frequent customers to accrue debt which they pay off later via invoice.
1. Click New. 2. Method Name: "Store Credit / Tab" 3. Journal: LEAVE EMPTY. 4. Identify Customer: CHECKED. Critial: You cannot have an anonymous credit sale. Odoo needs to know who owes the money.If you leave the Journal field empty, Odoo treats the payment as a "Receivable" (credit) transaction. It will post the amount to the customer's Account Receivable instead of a Bank/Cash asset account. This is how "Pay Later" works.
Step 5: Activate Methods on Your Shop
Simply creating the methods doesn't make them appear on the screen. you must link them to your specific Shop/POS.
Configuration > Settings.Step 6: The Checkout Experience
Now, open a New Session. Add an "Espresso" and "Croissant" to the cart.
- Click Payment.
- You will see your 3 options on the left.
- Split Payment: Click "Cash", enter $5.00. Then Click "Card" for the remaining balance.
- Validation: Because the order is fully paid, the Validate button lights up.
Your coffee shop is now ready to accept payments! The financial data from these sales will flow automatically into Odoo Accounting, grouping cash into your Cash Journal and card payments into your Bank Journal for easy reconciliation later.
Frequently Asked Questions
First, you need the 'POS Stripe' module installed. Then, go to `Configuration > Payment Methods > New`, select 'Terminal' as the journal, and you will see a 'Use a Payment Terminal' option where you can select Stripe and enter your API credentials.
Creating the method isn't enough; you must enable it for your specific POS session. Go to `Configuration > Settings`, select your POS, and ensure the new method is added to the 'Payment Methods' list.
Standard Odoo POS settings apply methods to the POS Hardware (the Shop), not the User. However, you can create multiple POS configurations (e.g., 'Manager Station' vs 'Cashier Station') with different authorized payment methods.
Odoo creates separate journal items for each part of the split. A $15 order paid with $10 Cash and $5 Bank will record a $10 debit to Cash Journal and a $5 debit to Bank Journal, balancing the $15 sales income.
This enforces that a customer must be selected for the order before this payment method can be used. It is mandatory for 'Customer Account' (Store Credit) payments because Odoo needs to know which partner's 'Account Receivable' to debit.
