Business Management

Odoo Invoicing Guide: Complete Setup and Configuration

L
Lena Hartmann
··12 min read
Complete guide to Odoo invoicing: configure invoicing policies, payment terms, taxes, integrate Stripe or PayPal, and automate payment follow-ups for customer invoices.
TL;DR
  • Odoo Invoicing automates customer invoice generation from sales orders and tracks payment status instantly
  • Configure invoicing policies (bill on order vs. delivery), payment terms, and taxes once, then generate invoices with a few clicks
  • Integrate with Stripe or PayPal for automatic payment processing and eliminate manual reconciliation work
  • E-invoicing and advanced compliance features are in Enterprise Edition; Community Edition handles standard invoicing at no cost

Odoo invoicing is a module in Odoo's business software for creating, tracking, and sending customer invoices. It automates invoice generation from sales orders and connects directly to your accounting system. You can use it standalone for simple billing, or integrate it with Odoo's full accounting suite for complex multi-company, multi-currency workflows. This guide walks you through setup, configuration, payment automation, and tax compliance options so you can decide if Odoo invoicing fits your business.

What Is Odoo Invoicing? And How It Differs from Accounting

Odoo Invoicing is a specific module that handles the customer billing side of your business. It takes sales orders, converts them to customer invoices, and tracks payment status. It does not handle accounts payable, bank reconciliation, or journal entries--those are the Accounting module's job.

The Accounting module is a full general ledger system. It covers both customer invoices and supplier bills, manages your chart of accounts, handles tax reporting, and connects to banking integrations for reconciliation. If you only invoice customers and do not manage complex multi-book accounting, Invoicing alone may be enough. If you track expenses, pay vendors, or need audit-ready financial statements, you need Accounting.

In Odoo Community Edition (free), Invoicing is unlimited but basic. You get invoice creation, payment tracking, and email delivery. In Enterprise Edition, you gain recurring invoice templates, payment batch processing, and compliance tools for e-invoicing (Peppol, DATEV). Community is fine for most small teams. Enterprise adds operational polish and regulatory features that start to matter as you scale.

When to Use Invoicing Standalone vs the Full Accounting Module

Use Invoicing alone if you sell products or services to customers, your invoices are straightforward (one-line or a few line items), you do not track supplier expenses in detail, and your tax setup is simple (single country, standard VAT or sales tax). A freelancer billing clients for hours, a small SaaS charging monthly subscriptions, or a retail shop processing orders all work fine with Invoicing.

Use Accounting if you operate across multiple entities or countries, you buy inventory and track costs, you need accounts payable to manage vendor bills, you report quarterly or annual financials to a bank or investor, or you reconcile bank accounts regularly. Any team managing a full P&L, not just revenue, should run Accounting.

The decision is not binary. You can start with Invoicing and add Accounting later. Odoo's architecture lets you activate modules piece by piece. But once you turn on Accounting, you are managing chart of accounts, cost centers, and journal entries--work that most small teams do not want to own themselves.

Many teams run Odoo through Opsily's managed Odoo hosting to avoid the DevOps overhead of running Odoo in-house. Managed hosting handles system updates, backups, and scaling so you can focus on invoicing and customer relationships instead of infrastructure. You start billing faster because the platform is ready to use on day one.

Creating Your First Customer Invoice: Step by Step

Before you create an invoice, you need three things: a customer record, a product or service item, and (in Accounting) a sales account to post revenue to. If you are running Invoicing standalone, these prerequisites are lightweight. If Accounting is active, you will also configure a chart of accounts.

Step 1: Set up a customer. Go to Invoicing > Customers. Enter the customer name, email, and billing address. Odoo will auto-generate an invoice numbering prefix based on company name. You can override this for white-label setups.

Step 2: Create products or service lines. Go to Inventory > Products (or Invoicing > Products if Inventory is not active). Create a product record with product name, product type (Service if you bill by hours or deliverables; Storable if physical goods), list price (your default selling price), and tax applied (link to the tax rules for this item: VAT, GST, or sales tax).

Step 3: Create a sales order. Go to Sales > Orders. Create a new quotation, add the customer and product, set quantity and unit price. The price auto-fills from the product, but you can override it per-order. Add any discount or surcharge. Click "Confirm Order" to lock it.

Step 4: Create the invoice from the sales order. Click the "Create Invoice" button on the order. Odoo generates an invoice with line items from the sales order, customer billing address, due date (calculated from payment terms you set on the customer or order), and applied taxes (automatically calculated).

Step 5: Review and send. The invoice is now in draft state. Review the amounts, tax calculation, and line items. Click "Confirm" to lock it and assign an invoice number. Then click "Send & Print" to email it directly to the customer or print a PDF.

The entire workflow from order to sent invoice takes two or three clicks. Odoo's defaults are sensible for most use cases. You do not need to be a billing expert to get invoices out the door.

Configuring Invoicing Policies and Payment Terms

Odoo offers two invoicing policies that change when an invoice is created: Ordered Quantities and Delivered Quantities.

"Ordered Quantities" creates an invoice as soon as you confirm the sales order. Use this if you bill upfront: subscription services, consulting retainers, or any pre-payment model. Your customer receives an invoice immediately, and you trigger the payment terms countdown.

"Delivered Quantities" creates an invoice only after you confirm a delivery (packing/shipment). Use this for physical products or services tied to completion milestones. A customer orders 100 units, the order is confirmed, but the invoice does not generate until you ship 50 units and create a partial delivery. This matches actual cash flow if your customer expects to pay on receipt of goods.

You set the invoicing policy at the product level (default) or override it per-order. Go to Products, select a product, open the Sales tab, and choose the policy under "Invoicing Policy."

Payment terms define when payment is due. Go to Accounting > Payment Terms and set up templates like Net 30 (due 30 days after invoice date), Net 15 (due 15 days after invoice date), 2/10 Net 30 (2% discount if paid in 10 days, due in 30 days), Due on Receipt (payment immediately expected), or EOM (end of month).

Link the payment term to a customer in the customer record, or set a default in company settings. Odoo calculates the due date automatically on every invoice. You do not manually compute due dates or chase dates; the system does it for you.

Managing Taxes and Compliance

Tax configuration is where invoicing gets tricky if you operate across countries or have complex tax rules. Odoo ships with tax templates for most countries: US (federal + state sales tax), EU (VAT), Canada (GST/HST), Australia (GST), India (GST), Mexico (IVA), and many others.

Setting up tax in a single country: Go to Accounting > Taxes. Odoo has default taxes for your country. For the US, select your state's sales tax rate (typically 6-10%). For EU, choose 17-27% VAT depending on the member state. For Australia, 10% GST. Assign the tax to products, and Odoo adds it to every invoice. No manual calculation needed.

Multi-country or B2B tax exemption: If you invoice customers in different countries, Odoo's tax system can auto-detect the customer's country and apply the correct rate. For B2B (business-to-business), EU-based companies can enter a VAT ID. If the ID is valid, the invoice is zero-rated (no VAT). Odoo validates VAT IDs in real-time via VIES (EU system) or manual upload.

E-invoicing and compliance: Odoo Enterprise supports e-invoicing formats like Peppol (Pan-European Public Procurement Online), used across EU public procurement. Odoo also supports DATEV (a German accounting standard), France's Chorus Pro, and Italy's Sistema di Interscambio (SDI). Community Edition does not include these; you would need custom development or third-party integration.

For most small teams, standard PDF invoices are sufficient. E-invoicing becomes relevant if you are supplying government agencies or operate in a jurisdiction that mandates electronic invoice submission. If you need compliance features but do not want to manage a custom Odoo instance, Opsily's managed Odoo hosting includes Enterprise Edition with compliance tools.

Automating Payments and Follow-Ups

Once an invoice is sent, you want payment to arrive automatically. Odoo integrates with online payment processors: Stripe (customers click a "Pay Now" button in the email, enter card details, and the payment posts automatically), PayPal (same flow, via PayPal checkout), and Adyen (global payments processor for subscriptions and one-off invoices).

To set up Stripe: Go to Accounting > Payment Methods. Click "Create" and select "Stripe." Paste your Stripe API keys. Then, in company settings, set Stripe as the default online payment method. Every invoice now includes a "Pay Now" link. When a customer pays online, Odoo records the payment and marks the invoice as Paid. No manual data entry.

For payment follow-ups, you can set up automated email reminders. Go to Invoicing > Customer Invoices, and in the action menu, create an automated action with trigger "Invoice due date passed" (overdue) and action "Send reminder email to customer." Set the reminder to fire 3 days after due date, then again 10 days after. The email auto-drafts; you review and send, or set it to auto-send. Odoo will not bug every customer daily, but it does reduce manual chasing.

Recording a payment is simple: on the invoice, click "Register Payment," enter the amount and method (cash, bank transfer, check), and click "Confirm." Odoo updates the invoice status to "In Payment" or "Paid" depending on your accounting setup.

Handling Adjustments: Credit Notes and Amendments

If you need to adjust an invoice after sending, you have two options: issue a credit note, or cancel and re-create the invoice.

A credit note is a separate document that reverses part or all of a previous invoice. Use it if the customer received goods but rejects them, you overcharged, or the customer disputes a line item. Go to the invoice, click "Add Credit Note," select which line items to credit, enter a reason, and confirm. Odoo generates a credit note with a new number and posts it to the customer's account. The credit reduces what they owe.

Cancelling and amending works if the invoice has not yet been paid. Go to the invoice, click "Cancel," confirm, and create a new corrected invoice. This is cleaner than credit notes if the original was issued by mistake. Use credit notes for legitimate adjustments after delivery.

Refunds work differently. If the customer already paid and you want to return money, you process a refund through your payment processor (Stripe, PayPal, etc.) or your bank. A credit note is an accounting record; a refund is actual money back. Do not confuse the two.

Running Invoicing Reports and Analytics

Odoo provides several built-in reports to track invoicing health.

Accounts Receivable (Aged Summary): Shows customer balances grouped by age: current (due within 30 days), 1-30 days overdue, 30-60 days overdue, and 60+ days overdue. Use this to prioritize collection calls.

Invoice Analysis: A pivot table showing invoice totals by customer, date, product category, or sales rep. Drag fields to rows/columns to analyze: Which products bring in the most revenue? Which customer is your biggest account?

Customer Invoices Dashboard: A visual summary of invoices created, paid, and overdue for the current month or year. You can drill down from a chart to the invoice list.

Invoices Overdue: A list filtered to unpaid invoices past their due date. Track these daily if cash flow is tight.

You can also export any invoice list to Excel for analysis in a spreadsheet. Go to Invoicing > Customer Invoices, apply filters (e.g., Status = Draft, Date Range = Last 30 Days), click the Export button, and download a CSV. These reports take 10 minutes to understand if you are new to Odoo. None require coding or custom queries. The dashboards auto-update as you create invoices.

Frequently Asked Questions

What payment methods are available in Odoo?

Odoo supports online payment providers (Stripe, PayPal, Adyen), bank transfers, cash, and checks. Online providers are fastest and most automated. Bank transfer requires manual entry but is low-cost. Cash and checks require physical handling and manual recording.

How does Odoo compare to QuickBooks?

Odoo Invoicing covers basic billing but is simpler than QuickBooks. QuickBooks is accounting-first and focuses on reporting and tax compliance. Odoo is ERP-first and integrates invoicing with orders, inventory, and HR. For invoicing only, QuickBooks is narrower and easier to learn. For a full business system, Odoo is deeper.

Is there a difference between billing and invoicing?

Billing is the act of requesting payment (sending an invoice, running a subscription charge). Invoicing is the formal document that records the transaction. In Odoo, they are often used interchangeably, but invoicing is the formal legal document, and billing is the process.

How do I delete an invoice in Odoo?

You cannot delete an invoice after it is confirmed. Odoo enforces this for audit compliance. You must cancel it (which flags it but keeps the record) and issue a credit note if needed. If the invoice is still in draft, you can delete it.

What are the three types of invoices?

Customer invoices (money owed to you), supplier invoices (money you owe), and credit notes (reversals). Some systems also distinguish delivery vs. deposit invoices, but these are less common.

Can an invoice be cancelled after sending?

Yes. Go to the invoice, click "Cancel," and confirm. Odoo flags it as "Cancelled" and stops it from affecting accounting. The invoice number is still reserved (you cannot reuse it), so the numbering sequence stays clean for audit purposes.

The Bottom Line

Odoo invoicing is straightforward for small teams. You set up customers, link products, generate invoices from sales orders, and track payment status. The invoicing policies let you match your cash flow model: bill upfront or on delivery. Tax setup is automatic for most countries, and payment automation with Stripe or PayPal removes friction.

Where invoicing becomes a project is if you operate across countries, need recurring invoices, or must comply with e-invoicing standards like Peppol. Odoo Enterprise handles these, but Community Edition requires custom work. Managing Odoo invoicing in-house means handling software updates, backups, security patches, and database maintenance. Opsily's managed Odoo hosting takes that off your plate so your team stays focused on customer relationships and revenue instead of DevOps. Start free to see how invoicing works in Odoo.

Set Up Odoo Invoicing Faster
Opsily handles hosting, updates, and backups so you focus on invoices, not infrastructure.
Get Started Free

Ready to self-host your own apps?

One server. Multiple apps. No per-app fees.

Get started →