MoySklad
Odoo
amoCRM
Tizimlashtirish
Marketing
AI agentlar
BUline
MoySklad
Odoo
amoCRM
Систематизация
Маркетинг
Маркетинг: обзор
Стратегия и контент
Стратегия и планКонтент и SMM
Рекламные каналы
Google AdsYandex DirectРеклама в TelegramInstagram и FacebookМаркетплейсы
Органический рост
SEO
Измерение и аналитика
Аналитика и KPI
AI-агенты
BUline
MoySklad
Odoo
amoCRM
Systematization
Marketing
AI agents
BUline
Home/Odoo/Payments and banking
Odooimplemented by BUline
Odoo · Integrations · Payments and banking

Click, Payme and the bank: how a payment gets closed in Odoo

A customer pays by card, through the bank or in cash, and the accountant has to link every receipt to an invoice. Odoo handles bank reconciliation well, but local payment services are not on its official list of providers.

ClickPaymeBank statementReconciliationFiscal receipt
Payment routes

Ways to accept payment: which one works out of the box

Payments are collected differently in an online store, on an invoice and at the cash desk. The first question: how do your customers actually pay?

MethodIn OdooA note for Uzbekistan
Bank transferAvailable: an alternative method from the Odoo documentation (Wire Transfer)Automatic reconciliation relies on the document number in the payment reference: customers need to be told to write it
Payment on invoiceAvailable: Pay on InvoiceConvenient for legal entities. The official electronic invoice is separate: details
Payment on the spot and in cashAvailable: Pay on Site, Cash on DeliveryFor cash revenue, the fiscal receipt is issued by a cash register device from the registry
Card online: through a providerAvailable, but Click and Payme are not among the 21 ready-made providersA ready-made module or a separate connection is needed. Details below
At the cash desk: card terminal, QRAvailable, but the terminal and QR types are designed for other countriesA local terminal and QR are tested in a test database. Cash desk and POS →
Local services

Click, Payme, Uzum: what exists according to open documentation

The following comes from the providers’ own documents and pages. We have not tested them: connection terms, the test environment and the contract are requested from the provider at the diagnostic.

ServiceWhat the documentation describesHow the connection is built
Payme BusinessPayment with Uzcard and HUMO cards. Merchant API: CheckPerformTransaction, CreateTransaction, PerformTransaction, CancelTransaction, CheckTransaction, GetStatement. Subscribe API: working with cards and receipts. The SetFiscalData method returns fiscal data (optional). A sandbox exists. Only legal entities work with the cash deskPayme sends a JSON-RPC 2.0 request to your billing server (HTTPS, POST), and the response must return with HTTP 200. So a receiving component is needed on the server side
ClickShop API: Prepare and Complete requests. Merchant API: Click Pass and fiscalization data. Web payment, payment link, card payment, payment through Telegram. Where the customer pays: CLICK SuperApp, web service, USSD, Telegram botThe provider’s billing system must handle the Prepare and Complete requests. On the Odoo side, a module or endpoint that receives these requests is required
Uzum BankIn the developer portal: Checkout (card payment, card linking, refunds, statuses, fiscalization), Merchant API, FastPay (QR for the cash desk), Dynamic QR, Nasiya (installment payment), FiscalizationBecoming a partner is done through merchants.uzumbank.uz; the access procedure and the test environment are not described on the portal page and are defined in the contract
The Odoo side

Connecting in Odoo: a ready-made module or a custom connection

Among the 21 providers in the Odoo 20 documentation there is no Uzbek service. If you need card payment, there are three routes. Detailed analysis →

MethodAdvantagesWhat we check
A ready-made module from the Apps StoreConnects quickly. For Click, the “Click Payment Gateway” module (TODOO, 19.0) is visible: a QR page, a mobile linkVersion: as of 25 October 2026, for 19.0 only. According to the module page, there are no refunds or card saving, the license is closed (OPL-1), the server must be reachable from the internet, and the QR image is generated by an external service. Searches for “payme uzbekistan”, “paycom” and “uzcard” found no Uzbek payment module, but the search works by name
A custom-built connectionAdapted to your requirements; refund and accounting rules can be addedThe server part from the provider’s documentation, its maintenance and adaptation to each new Odoo version. A custom module does not work on Odoo Online, so Odoo.sh or your own server is chosen
Bank transfer or invoiceWorks out of the box, no additional module neededThe procedure for matching a received payment against the bank entry
Honest scope

What Odoo includes as standard and what we add

Based on the Odoo 20 documentation. If your version differs, we check at the diagnostic.

GoalIn standard Odoo / in an external serviceExtra work (BUline)
Payment by bank transfer and on invoiceAvailable: Odoo’s alternative payment methodsBank details and a reference template, reconciliation rules
Local card paymentNot in Odoo. Payme, Click and Uzum Bank describe an API in their own documentationTesting a ready-made module or building the connection, choosing the hosting type
Bank statement importAvailable: CAMT.053, CSV, XLSX, OFX, QIFConverting a local bank’s file to a suitable format, a column map
Matching a bank entry to an invoiceAvailable: automatic rules and reconciliation modelsAdapting the rules to your reference and commission formats
Direct synchronization with a bankThe documentation lists providers (Salt Edge is described as “worldwide”); Uzbek banks are not namedReplace with file import; if the bank is on the list, it is estimated separately
Fiscal receipt for online paymentNot in Odoo. The provider’s API returns fiscal data (Payme, Click, Uzum Bank)Linking the data to Odoo records, accounting for refunds
A hypothetical day

What payment reconciliation looks like at month end

The example is hypothetical: no real figures, only to show the mechanism. An online store accepts payment by card and bank transfer. The provider collects the payments and transfers them to the bank, and customers write the invoice number in the transfer reference.

  • Odoo matches transfers that have a document number in the reference on its own, and the accountant sees only the exceptions
  • The provider’s single combined line is linked to several orders, and the commission goes to a separate expense
  • The balance on the interim account shows the unreconciled amount: by month end it should be close to zero
  • In Odoo 20, the report of reconciled and unreconciled transactions at period end shows which entry is still open
—
—
—
The money trail

How a card payment reaches the bank

A provider may collect payments and transfer them, withholding a commission. A hypothetical example: the figures are not real, they only show the mechanism.

StageIn OdooOn the bank statement
Customers pay: 100, 250 and 400Three payments, 750 in total, sit on the settlement account with the providerNothing yet
The provider transfers the money, with a 2% commission withheld750 stays where it isOne line: 735
The accountant reconciles735 is posted to the bank and 15 to commission expense735, no balance left
Bank

Bank statement: import, reconciliation, synchronization

Odoo matches a bank entry to an invoice, a vendor bill or a payment (reconciliation). Rules do most of the repetitive work. Rules and models →

File import

  • Accepted formats: CAMT.053, CSV, XLSX, OFX, QIF (CODA is used only in Belgium)
  • In CSV and XLSX, columns are mapped to Odoo fields manually; in the other formats, automatically
  • There is an action that finds duplicate entries by amount, date and account number
  • The file format from the local bank-client system is checked during the diagnostic and, if needed, converted to CSV

Reconciliation

  • If no partner is specified, Odoo matches the payment label against the document number and reference
  • If there is a partner, matching is done by amount: exact match, match with a discount, amount in the label
  • Rules are written with conditions on the label, amount, partner and journal: for example, an outgoing payment containing the word “commission” is posted to bank charges automatically
  • New in Odoo 20: payment tolerance, re-running automatic reconciliation, and a reconciliation report as of the end of the period

Bank synchronization

  • Requires an Enterprise subscription; after the first connection, it refreshes about every 12 hours
  • Providers named in the documentation: Plaid, Yodlee, Ponto, Enable Banking, Basiq (limited region) and Salt Edge (described as “worldwide”). Uzbekistan's banks are not named in the documentation
  • For a local bank, Odoo's list of supported institutions is checked first
  • If the bank is not on the list, file import remains
Fiscal receipt

Fiscal receipt for online payments

For cash payments, the receipt is issued by a cash register from the official registry. For online card payments, who generates the receipt depends on the contract: we obtain the answer to this question from the provider and the tax authority in writing. Online cash register →

Legal side

  • Presidential Decree PF-5813: when paying by card, the buyer receives a cash register receipt together with the terminal slip
  • The receipt must carry a QR code and a fiscal sign (PF-5813); the QR code must be at least 30×30 mm (Resolution No. 943, Annex 1, clause 7)
  • Annex 1a to Resolution No. 943 describes payment through a marketplace: the platform server sends the receipt data to the operator, the operator returns a fiscal sign and a QR code, and the platform stores the data for at least five years

Provider side

  • Payme (a payment service): the SetFiscalData method passes the receipt number, fiscal sign, QR link and registration date to your billing system
  • Click: the Merchant API has a “Fiscalization data” section
  • Uzum Bank: Checkout and a separate “Fiscalization” section
  • E-POS (an online cash register service) describes on its page a REST API for issuing a receipt, processing a refund and querying status, as well as linking payment with Click, Payme, Uzum, HUMO and Uzcard

The Odoo side

  • Fields are planned in which the fiscal sign and the receipt link are stored on the payment or order record
  • A refund generates a separate refund receipt: the credit note in Odoo and the receipt are linked
  • For a sale to a legal entity, an official electronic invoice may be required in addition to the receipt
Security

Security of online payments

An error in a payment connection affects money and trust. That is why the most important rules are written down at the start of the project.

Card data

  • The Payme Subscribe API documentation strictly prohibits storing unencrypted card data on your server
  • With tokenization, Odoo uses the provider's payment token instead of the card; the feature is not enabled for every provider
  • We build the card entry form according to the provider's requirements

Server and receiving address

  • The address to which the provider sends notifications must be reachable from the internet (Payme requires TLS and an HTTP 200 response)
  • Each incoming notification is verified according to the check rule in the provider's documentation, and the amount and the match with the order are checked
  • Even if the same notification arrives twice, the payment is recorded once (duplicate protection)
  • Test mode only in a copy or a test database: otherwise invoice numbering is corrupted

Legal side

  • Providing payment services without a Central Bank license is prohibited (Law “On Payments and Payment Systems”, Article 15; the activity of a payment agent and sub-agent is an exception): you sign the contract with a licensed provider
  • A lawyer reviews the terms of the contract
  • Where customer data is stored: the personal data law. Details →
The BUline Method

How we implement the payment and bank connection

The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →

01Diagnostic1–2 weeks

We find out how customers pay, which provider you have a contract with, how the bank statement is obtained and who generates the fiscal receipt. The provider's documentation is reviewed. Result: a business requirements document (BRD).

02Architecture1–3 weeks

A ready-made module or a separate connection is chosen, the hosting type is confirmed, and the reconciliation rules are written down together with the accountant. A test environment is requested from the provider.

03Testing and sprints8–16 weeks

The connection is tested in a copy of the database: payment, cancellation, refund, repeated notification, connection loss. The bank rules are checked against a real statement file, followed by a pilot.

04Training

Cashiers, accountants and managers are trained by role: payment reconciliation, refunds, a mistaken payment. We provide an instruction manual and video lessons.

05Post-launch support30 days + ongoing

After launch, 30 days of enhanced support, then agreed ongoing support. When the provider or Odoo is updated, the connection is tested again.

Preparation

What to gather before we start

This list speeds up the diagnostic. We can start even if not everything is ready.

Payments

  • How customers pay and in what proportion
  • A contract with the provider and access to the test environment
  • The refund procedure and who approves it

Bank

  • A sample statement from the bank-client system (one month)
  • Account numbers and their currencies
  • A list of fees and recurring expenses

Accounting and tax

  • The provider's answer on who generates the fiscal receipt
  • The cash register contract and the contract with the service center
  • Accountant: payment reconciliation rules
Mistakes

Common mistakes and how to avoid them

MistakeConsequenceHow we prevent it
Choosing a module regardless of the hosting typeThird-party modules cannot be installed on Odoo OnlineDecide on hosting before choosing a module
Not checking the module's versionPayment stops working when you move to Odoo 20Ask the author in writing for the release date of the new version
Testing in the production databaseInvoice numbering is corruptedTest mode only in a copy of the database
Treating payment acceptance and accounting as the same thingMany hours of manual work at month endAgree the reconciliation rule with the accountant before connecting
A manual journal entry to the bank accountAccording to the Odoo 20 release notes, an entry that affects the bank account must originate from a bank transactionMake the correction through a bank transaction
Ignoring the fiscal receiptA tax requirement is violatedEstablish in writing who generates the receipt
FAQ

Frequently asked questions

Can Odoo accept payment through Click or Payme?

Both services have open documentation and payment methods, but they are not among the 21 ready-made providers in the Odoo 20 documentation. The connection is built on your server side according to the provider's documentation: a ready-made module or custom development is assessed during the diagnostic.

Can customers pay in Odoo with Uzcard and HUMO cards?

The Payme documentation describes payment with Uzcard and HUMO cards. The Odoo documentation names no ready-made terminal or provider for these cards; payment goes through one of the services above, and the terminal at the checkout is tested.

Can Odoo be connected directly to a bank?

Among the bank synchronization providers in the Odoo documentation, Uzbekistan's banks are not named (Salt Edge is described as “worldwide”, and its coverage is checked separately). Uploading a bank statement as a file works: CSV, XLSX, OFX, QIF or CAMT.053. The file format of the local bank is checked during the diagnostic.

What if a customer pays several invoices with a single transfer?

If the partner is identified, Odoo links several open documents of that partner to a single bank line in one click. A partial payment and a small difference, such as a bank fee, are closed by a rule.

Who issues the fiscal receipt for an online payment?

It may be your cash register, the payment provider or the platform's virtual fiscal module, depending on the contract. Payme, Click and Uzum Bank have fiscalization sections. We establish the exact procedure in writing with the provider and the tax authority.

Can a payment service be connected on Odoo Online?

Third-party and custom modules are not compatible with Online. For the server part that the provider requires, Odoo.sh or your own server is chosen. Bank file import does work on Online. Hosting types →

How much does the service cost and how long does it take?

The Odoo license depends on the number of users and apps (terms are at odoo.com); bank synchronization requires an Enterprise subscription. The scope of BUline's work depends on the number of payment services, branches, apps, customization, data volume and training. The exact cost and timeline are given in a written proposal after the free diagnostic.

Free diagnostic

Let’s decide together which Odoo apps to start with

During the diagnostic, we review your processes and tell you where standard Odoo is enough and where configuration is needed — with an app list, edition and phases.

Free diagnostic