Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Payment Providers
  3. DE Kashier Integration v 18.0
  4. Sales Conditions FAQ

DE Kashier Integration

by Digital Economics LLC. https://de.com.eg , Eng. Ahmed Nasreldin https://de.com.eg
Odoo

$ 199.00

v 18.0 Third Party
This module requires Odoo Enterprise Edition.
Live Preview
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Payroll (hr_payroll)
• eCommerce (website_sale)
• Invoicing (account)
• Discuss (mail)
• Employees (hr)
• Employee Contracts (hr_contract)
• Website (website)
Lines of code 3754
Technical Name de_kashier_integration
LicenseOPL-1
Websitehttps://de.com.eg
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Payroll (hr_payroll)
• eCommerce (website_sale)
• Invoicing (account)
• Discuss (mail)
• Employees (hr)
• Employee Contracts (hr_contract)
• Website (website)
Lines of code 3754
Technical Name de_kashier_integration
LicenseOPL-1
Websitehttps://de.com.eg
  • Description
  • License
DE Kashier Integration
DE Kashier Integration
  • Overview
  • Features
  • FAQs
  • Why DE
  • Release
  • Support
+20 150 906 1111

DE Kashier Integration

تكامل كاشير من DE

End-to-end Kashier integration for Odoo 18 — customer checkout, one-click invoice payment links, AND outbound ACH payouts for vendor bills and employee payslips.

HPP Checkout

Invoice Payment Links

Vendor Payouts

Salary Payouts

The Problem We Solve

Without This Solution

  • Customers can't pay Egyptian invoices directly from Odoo — you fall back to bank transfer or manual reconciliation.
  • Sending a payment link means logging into a separate Kashier dashboard and copy-pasting the URL.
  • Paying suppliers means exporting an Excel sheet and re-keying it into Banque Misr's portal.
  • Salary disbursement is a manual export-and-upload every month.

With Digital Economics Solution

  • Kashier appears as a native Odoo payment provider in eCommerce, portal, and POS-style flows.
  • One-click "Send Kashier Link" on any customer invoice — email and SMS in the same dialog.
  • "Pay via Kashier (ACH)" on the vendor payment posts a signed Banque Misr transaction.
  • "Pay Salary via Kashier" on the payslip routes the net wage to the employee's bank account.

Key Features

HPP Checkout (HMAC-SHA256 signed)

Hosted Payment Page redirect with cryptographically signed order_hash, exactly per Kashier's published NodeJS reference. Both sandbox and production switch via the mode param.

Two-key signature verification

Browser callback signed with Payment API Key, server webhook signed with iFrame Secret. Same canonical 10-field concat. Constant-time HMAC compare to prevent timing attacks.

Customer invoice payment links

Generate a Kashier paymentRequest directly from any posted customer invoice; share by email and/or SMS through Kashier's sendInvoiceBy endpoint; cancel from the same record.

Vendor & salary ACH payouts

Build, RSA-PKCS1-SHA256 sign, and POST a Banque Misr Corpay transaction directly from account.payment or hr.payslip. Idempotent on MessageId; rejected payouts capture the bank's response for reconciliation.

Segregation of duties (SOD)

Two-step workflow: payroll / AP user Requests → accountant Approves & Releases. Approver must differ from requester (admin included). Amount + SHA-256 payload hash frozen at request; any drift between request and approval blocks the release.

Partner-balance verification

Sums the partner's posted, unreconciled payable balance (multi-currency aware — converts per-line at today's rate) and blocks release when the payout exceeds what we actually owe. Payslip release additionally requires the payroll journal entry to be posted.

Fee schedule + bank journal

Configurable per-transaction fee MIN(MAX(amount×pct%, min), max)×(1+VAT%). On release, posts one consolidated statement line for net + fees to the configured journal; the underlying move splits suspense (net, for reconciliation) and the fee expense account automatically.

Accountant inbox + multi-company

Accounting → Vendors → Kashier Payouts — Payslip and Vendor payout lists pre-filtered to Pending Approval, with inline Approve / Reject, group-by company / state / requester, and totals for net, fees and bank debit. Provider, journal and accounts are pinned per-company.

Refund & void

Standard Odoo refund flow wired to Kashier's FEP orders endpoint. Both sandbox and production hosts honoured.

Bilingual UI

Full English + Arabic (ar_001) translations included. RTL layout works out of the box.

Frequently Asked Questions

Does this support tokenization / saved cards?
No — HPP redirect flow only. Tokenization needs the in-place iframe flow, which is on the roadmap.
Why two HMAC secrets?
Kashier's reference NodeJS sample documents this split: the Payment API Key signs the browser callback, the iFrame Secret signs the HPP order_hash and the server-to-server webhook. Different surfaces, different secrets — a leaked browser key can't forge webhooks.
Do payouts need any extra Python package?
Yes — cryptography for the RSA signing. Already in the standard Odoo runtime image; pip install cryptography if running a stripped-down container.
Is the payout endpoint reachable from a cloud Odoo?
The default Banque Misr Corpay endpoint is on a private IP. The provider record exposes the URL as a configurable field — enter the public hostname your bank gave you, or run Odoo on the same network segment.
Does it support Arabic?
Yes — full English + Arabic (ar_001) translations included.

Why Digital Economics?

Your All-in-One Smart ERP Partner

Gold Partner

Certified Odoo Gold Partner in Egypt

60+ Projects

Successful international implementations

93% Retention

Clients stay for 5+ years

11 Countries

Global operations

Release Information

Version18.0.7.10.0
Release DateMay 2026
Price$199.00 USD
LicenseOPL-1
AuthorDigital Economics LLC.
Odoo Version18.0 (Community & Enterprise)
Dependenciespayment, account_payment, sale, website_sale, hr_payroll

Changelog v18.0.7.10.0

  • Accounting managers (account.group_account_manager) can now reset payouts from sent / confirmed states — line accountants still blocked
  • New "Force Reset (Manager)" button surfaces the path with an extra-loud confirm prompt; the standard "Set to Draft" / "Reset to Draft" also routes there when the user is a manager
  • Original merchantTransferId + transferId are logged to the chatter BEFORE the clear, so the audit trail survives the reset
  • Chatter line for force-reset is tagged with a warning icon and reminds the operator to verify Kashier-side status before re-requesting (double-charge risk if the original transfer is still active)

Changelog v18.0.7.9.0

  • New "Sync Status from Kashier" button on payslip / vendor-payment forms — visible while state is sent or confirmed; pulls the latest status from GET /v2/transfers/{id} (or paginated list when only the merchantTransferId is known) and updates local state + transferId
  • Duplicated-merchantTransferId recovery (from v18.0.7.8.0) now auto-syncs the status right after the recovery write — the record lands in the actual Kashier-reported state (sent / confirmed / rejected), not just the default sent
  • Status mapping reuses the existing const.PAYOUT_STATUS_MAPPING: INITIATED/PROCESSING/PENDING → sent; COMPLETED/SUCCESS/SETTLED → confirmed; FAILED/EXPIRED/CANCELLED → rejected
  • All API calls non-blocking — network / decode failures leave state untouched and never break the workflow

Changelog v18.0.7.8.0

  • Recovery path for "Merchant transfer id is duplicated" 400 from Kashier — when the gateway reports a duplicate, recover the record to sent instead of rejecting; the transfer is already on the gateway from a prior attempt whose Odoo transaction rolled back
  • Statement-line creation is skipped on the recovery path so the bank journal doesn't double-book
  • Chatter post on successful release wrapped in try/except — a future bug there can no longer roll back the state write or the statement line (which was the root cause of the duplicated-id situation in the first place)

Changelog v18.0.7.7.0

  • Fix KeyError on release chatter: the v18.0.3.0.0 channel migration renamed the body keys from MessageId/TransactionId to merchantTransferId/transferId, but the chatter message_post still referenced the old keys — raised on every successful release after a Kashier 200
  • Chatter now reads body.get('merchantTransferId') + the Kashier-returned transfer_id, with the persisted fields as fallbacks

Changelog v18.0.7.6.0

  • kashier_bank_code help text expanded with the curated list of Egyptian bank codes extracted from a live 400 response (ADIB, AUB, ABK, ABRK, AAIB, ARAB, ABC, ARIB, AIB, AUDI, BOA, BDC, MISR, BLOM, CITI, CIB, CAE, POST, EALB, EGB, ENBD, EDBE, FAIB, …) and per-method guidance (bank / wallet / instant wallet / card)
  • Same field doubles as the wallet-operator code when the payout method is wallet or instant wallet — merchants create one res.bank record per operator (Vodafone Cash, Orange Money, etc.) and set its code from the Kashier dashboard
  • UserError on missing code rewritten to read "bank / wallet operator", with method-specific examples

Changelog v18.0.7.5.0

  • New kashier_bank_code field on res.bank — merchants set the Kashier-specific code (CIB, MISR, ADIB, BOA, CITI…) once per institution, every employee / vendor banked there gets the right recipientBank in the payout body
  • Build_body now reads bank_id.kashier_bank_code instead of BIC / bank name — fixes 400 from /v3/transfers/single
  • Clear UserError when the code is missing, pointing the user at Contacts → Banks to set it
  • Field surfaced on the standard res.bank form right after the BIC

Changelog v18.0.7.4.0

  • Custom "Reset to Draft" Kashier button removed — the standard Odoo Set to Draft (payslip) / Reset to Draft (payment) button now also clears the Kashier payout
  • action_payslip_draft and account.payment.action_draft are overridden to call action_kashier_reset_payout first when the payout state requires it
  • One UI affordance, full coverage: from pending_approval or rejected the override withdraws / resets; from sent / confirmed it blocks the draft transition with a clear error ("payout already with the gateway")
  • SOD + manager bypass continue to apply through the wrapped server call

Changelog v18.0.7.3.0

  • SOD bypass for accounting managers (account.group_account_manager) — they can approve / reject / reset their own requests without going through a second pair of eyes
  • Regular accountants and payroll users still enforce requester ≠ approver as before
  • New _kashier_payout_can_bypass_sod() helper centralizes the rule; applied in approve, reject, withdraw and reset paths
  • Unified chatter wording for reset-to-draft (drops the separate "withdrawn" vs "reset" variants — the action's effect is identical either way)

Changelog v18.0.7.2.0

  • Payslip payout amount now sourced from the partner's outstanding payable balance — not the NET line — so prior advances / partial reconciliations are reflected automatically
  • New editable field kashier_payout_amount_to_release — defaults to the partner balance, specialist can override before clicking Request to settle a partial amount
  • Field is locked once the workflow leaves draft so the snapshot the accountant approved can't drift
  • Withdraw + Reset to Draft unified into a single "Reset to Draft" button — auto-withdraws any pending request and clears all in-flight ids (so the next Request mints a fresh transfer)
  • Balance compute and the warning split into separate methods to break the circular dependency the new editable field introduced
  • New _kashier_payable_balance helper shared between the compute and the amount default — multi-currency aware via the existing per-line FX logic

Changelog v18.0.7.1.0

  • Specialists can now Withdraw Request on a payout in Pending Approval — gated to the original requester (or admin) via the new computed kashier_payout_can_withdraw flag
  • Reset / withdraw clears all in-flight identifiers: kashier_payout_message_id, kashier_payout_transaction_id, kashier_payout_currency_id, kashier_gateway_fee_amount, kashier_gateway_fee_total, kashier_gateway_fee_response (previously left in place). The next "Request Payout" click mints a fresh merchantTransferId so Kashier sees a brand-new transfer, not a retry
  • Sent / confirmed payouts still refuse reset — they're already with the gateway and must be handled through Kashier
  • Distinct chatter wording for the two paths ("request withdrawn" vs "reset to draft")

Changelog v18.0.7.0.0

  • Consolidation release: promotes the v18.0.6.x portal-payment work to a minor-version checkpoint for publication
  • No functional change vs v18.0.6.1.0

Changelog v18.0.6.1.0

  • Portal customers can now click "Pay via Kashier" directly on their /my/invoices/<id> page — generates the Kashier paymentRequest if absent (idempotent) and redirects straight to Kashier's hosted checkout
  • Once generated, the portal page also exposes an "Open Kashier checkout" button + a copyable share URL so the customer can forward the link to whoever's actually paying
  • Access gated by Odoo's standard access_token portal pattern with constant-time compare; an authenticated user with read rights on the invoice also passes
  • No new model fields — reuses the existing kashier_invoice_id / kashier_payment_link stored on account.move

Changelog v18.0.6.0.0

  • Consolidation release: the installments feature suite (calculator, inline checkout picker, portal-invoice embed) is now stable as a unit
  • Includes everything from v18.0.5.0.0 → v18.0.5.2.0; no functional change vs v18.0.5.2.0 — promoted to a minor-version checkpoint for publication

Changelog v18.0.5.2.0

  • Installments calculator embedded directly on portal invoice pages — customers see plans for the invoice's residual balance without leaving the portal
  • Iframe is gated on (a) an active Kashier provider with installments enabled, AND (b) a non-zero amount_residual — portals without the feature see no change
  • "Open full calculator in a new tab" link beneath the iframe for environments where iframes are restricted

Changelog v18.0.5.1.0

  • Inline installments picker injected into the checkout flow — customer picks a bank + tenor, or clicks "Pay in full", before being forwarded to Kashier's HPP
  • When kashier_allow_installments is on, the HPP redirect form's action targets /payment/kashier/installments/checkout first; the picker re-emits every HPP param verbatim (hash never re-signed) plus optional installmentFiId + installmentTenor
  • Reuses the JSON proxy endpoints from v18.0.5.0.0 so the picker shows the same per-bank plans as the standalone calculator page

Changelog v18.0.5.0.0

  • New consumer-facing installments calculator at /payment/kashier/installments — pick amount + currency, browse banks, view per-bank monthly plans
  • Public JSON proxy endpoints (/payment/kashier/installments/banks and /payment/kashier/installments/plans) hide the merchant ID server-side and dodge the CORS issue customers' browsers would hit talking to Kashier directly
  • Provider toggle kashier_allow_installments — off by default; turning it on appends installments to the HPP allowedMethods so Kashier shows its own picker too
  • Defensive JS parses several possible Kashier response shapes (data, body, banks, plans, root-level array) so a future field rename doesn't break the page
  • Friendly fallback page (installments_unavailable) when the feature isn't configured for the active provider

Changelog v18.0.4.1.0

  • New "Push Webhook URL to Kashier" button on the provider record — sets the gateway's webhookUrl to this Odoo instance's /payment/kashier/webhook endpoint without leaving the form
  • Hits PUT /merchant?action=webhook&operation=updatemerchantuser&merchantId=<mid> with {MID, webhookUrl} per the test postman's "Merchant Webhook" entry
  • Confirmation prompt before overwriting whatever's currently set in the Kashier dashboard
  • Useful when staging rebuilds change the public hostname, or when on-boarding a new environment without copy-pasting through the Kashier UI

Changelog v18.0.4.0.0

  • New "Mark Kashier Link Paid" button + wizard on customer invoices — pushes paymentStatus: paid to the gateway after an offline collection (cash, bank transfer, cheque)
  • Wizard captures payment date / channel / reference for the audit chatter (Kashier only receives the status flip)
  • Gated by account.group_account_invoice; hidden when the link is already paid, cancelled, or the invoice isn't posted
  • Hits PUT /paymentRequest/{mid}/{id}?operation=edit with {operation:changestatus, paymentType:professional, paymentStatus:paid} per the updated test postman

Changelog v18.0.3.2.0

  • Refund body fixes per updated test postman: nest amount in transaction, send reason and targetTransactionId
  • Refund auth now uses kashier_payout_secret_key (FEP host uses the payout secret) with the Payment API Key as fallback
  • New field kashier_transaction_id on payment.transaction captures the TX-XXX capture id from Kashier's callback — required for refund/void targeting

Changelog v18.0.3.1.0

  • Auto-call Kashier's POST /v2/transfers/fee-inquiry at request time and store the gateway's authoritative fee on the record
  • New fields: kashier_gateway_fee_amount, kashier_gateway_fee_total, kashier_gateway_fee_response
  • Computed warning (kashier_fee_mismatch_warning) when the local schedule and Kashier's quote differ by more than five rounding units
  • Bank-statement posting now uses the gateway figure when available (matches what Kashier will actually deduct), falling back to the local schedule when the inquiry fails
  • "Refresh Gateway Fee" button on the form for manual re-quote between request and approve
  • Tree views surface both local and gateway fees side-by-side; gateway is the default "show" column
  • Fee inquiry is non-blocking: network / decode failures only suppress the gateway column, never block the workflow

Changelog v18.0.3.0.0

  • Switched the payout channel from direct Banque Misr Corpay to Kashier's managed Payout API per developers.kashier.io/payout/payout
  • New endpoint POST {fep-host}/v3/transfers/single with bearer auth (Authorization: secretKey) — no RSA signing, no ISO 20022 body
  • Six-field flat body: amount, method, recipientName, merchantTransferId, recipientBank, recipientNumber
  • Supports all four Kashier rails: card, wallet, bank, instant wallet (default per-provider, override per-record)
  • New provider fields: Payout Secret Key, Default Payout Method
  • Status mapping: Kashier's INITIATED → Sent; COMPLETED → Confirmed; FAILED/EXPIRED/CANCELLED → Rejected
  • Legacy Banque Misr Corpay fields retained on the provider record (read-only "deprecated" section) so existing data isn't lost on upgrade
  • SOD workflow, multi-currency partner-balance check, fee schedule, dedicated bank-statement posting and accountant inbox — all unchanged and compatible with the new channel

Changelog v18.0.2.1.0

  • Fix cancel-invoice REST call (use operation=edit with changestatus body per Kashier's live postman)
  • Fix payment-link share payload (subDomainUrl/urlIdentifier/customerName/storeName/customerEmail|customerPhoneNumber/language with body operation selecting the channel)
  • Fix refund payload to nest amount under transaction as the FEP endpoint expects
  • Centralize fep.kashier.io/test-fep.kashier.io hosts in const.py

Changelog v18.0.2.0.0

  • Two-step payroll → accountant approval workflow with server-side SOD enforcement
  • Frozen amount snapshot + SHA-256 payload hash — the accountant approves the exact transaction prepared
  • Multi-currency partner-balance verification (per-line FX at today's rate) before release
  • Payslip release blocked while the payroll journal entry isn't posted
  • Per-transaction fee schedule on the provider (MIN/MAX/VAT clamps configurable)
  • Consolidated bank-statement posting of net + fees with auto-split into suspense and fee-expense accounts
  • Dedicated Accounting → Vendors → Kashier Payouts inbox with inline Approve / Reject
  • Multi-company hardening: provider / journal / balance pinned to the record's company; cross-company users blocked from approving

Changelog v18.0.1.0.0

  • Initial release for Odoo 18.0
  • Kashier HPP redirect flow with HMAC-SHA256 order_hash
  • Two-key callback verification (browser & webhook)
  • Customer invoice payment-link generator + email/SMS sharer
  • Banque Misr ACH payouts for vendor bills + payslips
  • Full English + Arabic translations

Digital Economics LLC.

Unlock Your Business Growth Potential

Contact Information

Websitede.com.eg
Emailsupport@de.com.eg
WhatsAppwa.me/201509061111 | wa.me/201509071111
Support Portalde.com.eg/helpdesk/customer-care-1/knowledgebase

Digital Economics

Unlock Your Business Growth Potential

Copyright 2025 Digital Economics LLC. All rights reserved.

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with