Part of our B2B eCommerce & Operations series
Read the complete guideB2B Payment Terms: Net-30, Credit Limits & Aging Analysis
Cash is oxygen for a business. Payment terms determine how long you go without breathing between delivering value and receiving payment. A company with $10 million in monthly sales on Net-30 terms has $10 million permanently tied up in accounts receivable. Extending those terms to Net-60 doubles that figure to $20 million. That $10 million difference must be financed somehow --- through working capital, credit lines, or slower growth.
Yet payment terms are also a competitive weapon. A supplier offering Net-60 when competitors offer Net-30 wins deals. The question is not whether to offer credit terms but how to manage the risk, cash flow impact, and collection process that come with them.
Key Takeaways
- Every day of DSO (Days Sales Outstanding) above your target costs approximately 0.015% of annual revenue in financing costs
- 2/10 Net-30 terms (2% discount for payment within 10 days) yield an annualized return of 36.7% --- most buyers should take it, most sellers should offer it
- Credit limits must be enforced in real time at the order entry point, not discovered after shipment
- Aging analysis is a leading indicator of customer health --- deteriorating payment patterns predict churn 6-12 months before it happens
Understanding B2B Payment Terms
Common Payment Term Structures
| Term | Description | Cash Flow Impact | When to Use |
|---|---|---|---|
| CIA | Cash in advance before shipment | Best (immediate) | New/high-risk customers |
| COD | Cash on delivery | Good (at delivery) | Small orders, new customers |
| Net-15 | Payment due 15 days after invoice | Moderate | Small accounts, low risk |
| Net-30 | Payment due 30 days after invoice | Standard | Established accounts |
| Net-45 | Payment due 45 days after invoice | Significant | Mid-tier accounts |
| Net-60 | Payment due 60 days after invoice | Heavy | Large accounts, competitive |
| Net-90 | Payment due 90 days after invoice | Severe | Enterprise, government |
| Net-120 | Payment due 120 days after invoice | Critical | Government, overseas |
| EOM+30 | 30 days after end of invoice month | Variable | Month-end alignment |
| 2/10 Net-30 | 2% discount if paid in 10 days, full in 30 | Good (if discount taken) | Incentivize early payment |
The True Cost of Payment Terms
Extending payment terms has a quantifiable cost. Every dollar in accounts receivable has a carrying cost --- the opportunity cost of that capital plus the risk of non-payment.
Carrying cost calculation:
If your cost of capital is 8% annually:
- Net-30: $10M AR x (8% / 365 x 30) = $65,753 per month
- Net-60: $20M AR x (8% / 365 x 60) = $263,014 per month
- Net-90: $30M AR x (8% / 365 x 90) = $591,781 per month
The difference between Net-30 and Net-90 is $526,028 per month in carrying costs. This must be factored into pricing when offering extended terms.
Early Payment Discounts
The Math Behind 2/10 Net-30
The most common early payment discount is "2/10 Net-30" --- the buyer gets a 2% discount for paying within 10 days instead of the standard 30 days. This seems like a small incentive, but the annualized return tells a different story.
The buyer choosing not to take the discount is effectively borrowing money for 20 days (the difference between day 10 and day 30) at a cost of 2%. Annualized, this is:
(2% / 98%) x (365 / 20) = 37.2% annualized interest rate
Any buyer with access to capital below 37.2% should take the discount. Since most business credit lines charge 5-15%, the rational choice is almost always to take the discount.
Discount Structures
| Discount Term | Buyer Savings | Annualized Rate | Seller Cash Flow Impact |
|---|---|---|---|
| 1/10 Net-30 | 1% | 18.4% | Accelerates by 20 days |
| 2/10 Net-30 | 2% | 37.2% | Accelerates by 20 days |
| 3/10 Net-60 | 3% | 22.4% | Accelerates by 50 days |
| 2/10 Net-60 | 2% | 14.9% | Accelerates by 50 days |
| 1/10 Net-45 | 1% | 10.5% | Accelerates by 35 days |
Implementing Discounts in Odoo
Odoo's payment terms configuration supports early payment discounts natively. When creating a payment term, you define the discount percentage and the discount period. The system automatically calculates the discounted amount when a payment is received within the discount window and reconciles the difference as a discount expense.
The buyer portal displays both the full amount and the discounted amount with the discount deadline, making it easy for buyers to see the savings and act on them.
Credit Limit Management
Setting Credit Limits
Credit limits should reflect both the customer's creditworthiness and the size of the business relationship. A customer who is creditworthy but only orders $5,000 per month does not need a $500,000 credit limit.
Credit limit formula:
Recommended credit limit = Average monthly purchases x Payment term multiplier x Risk factor
| Customer Risk Profile | Risk Factor | Payment Term Multiplier |
|---|---|---|
| Low risk (5+ years, clean history) | 1.5 | Terms in months (e.g., 1 for Net-30) |
| Medium risk (1-5 years, minor delays) | 1.2 | Terms in months |
| High risk (new customer, some issues) | 0.8 | Terms in months |
| Very high risk (poor credit, disputes) | 0.5 | Terms in months |
Example: A medium-risk customer averaging $50,000/month on Net-30 terms: $50,000 x 1.0 x 1.2 = $60,000 credit limit
Real-Time Credit Enforcement
Credit limits must be enforced at the point of order entry, not after the fact. When a buyer places an order in the B2B portal or when a sales rep enters an order, the system should check the customer's current AR balance plus all open (unshipped) orders against their credit limit.
| Check Point | Action if Over Limit |
|---|---|
| Order entry (portal) | Block order submission, display message |
| Order entry (sales rep) | Warning with option to request exception |
| Order confirmation | Block confirmation, route to credit team |
| Shipment release | Hold shipment, notify credit team |
In Odoo, credit limits are configured on the customer record and checked during the sales order confirmation workflow. Custom logic can extend this to check at order entry and shipment stages.
Credit Review Triggers
Credit limits should not be static. Define events that trigger a credit review.
- Order exceeds 80% of credit limit
- Payment is more than 15 days past due
- Customer requests a credit limit increase
- Annual review (every 12 months minimum)
- Significant change in ordering pattern (sudden increase or decrease)
- External credit report change (Dun & Bradstreet, Experian Business)
Aging Analysis
The Aging Report
The accounts receivable aging report is the most important report in B2B credit management. It segments outstanding invoices by age, revealing which customers are paying on time and which are sliding.
| Aging Bucket | Amount | % of Total | Count | Avg Days Overdue |
|---|---|---|---|---|
| Current (not yet due) | $485,000 | 52.1% | 147 | --- |
| 1-30 days overdue | $215,000 | 23.1% | 68 | 18 |
| 31-60 days overdue | $128,000 | 13.8% | 34 | 44 |
| 61-90 days overdue | $67,000 | 7.2% | 15 | 72 |
| 91-120 days overdue | $24,000 | 2.6% | 7 | 103 |
| 120+ days overdue | $11,000 | 1.2% | 4 | 156 |
| Total AR | $930,000 | 100% | 275 |
Aging as a Predictive Indicator
Aging patterns predict customer behavior. A customer whose aging profile is shifting right --- more invoices in older buckets each month --- is showing signs of financial stress or dissatisfaction. This pattern typically appears 6-12 months before a customer churns or defaults.
Track aging trends by customer, not just snapshots. A customer with $50,000 in the 31-60 bucket is not concerning if that is typical for their payment pattern. The same customer with $50,000 in the 61-90 bucket when they normally pay in 30 days is a red flag.
Collection Workflows
Effective collection is systematic, not sporadic. Define a collection workflow that escalates automatically.
| Days Overdue | Action | Channel | Owner |
|---|---|---|---|
| 1 day | Automated payment reminder | System | |
| 7 days | Friendly follow-up | AR team | |
| 15 days | Phone call to AP contact | Phone | AR team |
| 30 days | Formal past-due notice | Email + mail | AR manager |
| 45 days | Account placed on hold | System | AR manager |
| 60 days | Escalation to sales rep | Sales manager | |
| 75 days | Demand letter | Certified mail | Legal |
| 90 days | Collection agency or legal action | External | CFO |
In Odoo, follow-up actions can be automated through the Accounting module's payment follow-up feature, which sends escalating communications based on the number of days past due.
Days Sales Outstanding (DSO)
Calculating DSO
DSO measures the average number of days it takes to collect payment after a sale.
DSO = (Accounts Receivable / Net Credit Sales) x Number of Days
For a company with $930,000 in AR and $3,100,000 in monthly credit sales:
DSO = ($930,000 / $3,100,000) x 30 = 9.0 days... but this is the monthly DSO. Annual DSO is more meaningful:
Annual DSO = ($930,000 / $37,200,000) x 365 = 9.1 days
Wait --- this company has $930K AR on $37.2M annual sales? That is an unusually low DSO of 9.1 days, suggesting most customers pay quickly. A more typical B2B DSO is 45-55 days.
DSO Benchmarks by Industry
| Industry | Median DSO | Top Quartile | Bottom Quartile |
|---|---|---|---|
| Manufacturing | 52 days | 38 days | 68 days |
| Distribution | 45 days | 32 days | 58 days |
| Technology | 58 days | 42 days | 75 days |
| Professional services | 48 days | 35 days | 62 days |
| Construction | 65 days | 48 days | 85 days |
Reducing DSO
Every day of DSO reduction frees working capital. For a company with $37.2M in annual sales, each day of DSO equals approximately $101,918 in AR. Reducing DSO from 55 to 45 days frees $1,019,178 in cash.
Strategies to reduce DSO:
- Offer early payment discounts (2/10 Net-30)
- Invoice immediately upon shipment (not weekly or monthly)
- Provide easy online payment through the buyer portal
- Enforce credit holds on past-due accounts
- Automate collection follow-ups
- Match payment terms to customer risk profile
For the complete B2B eCommerce strategy, see our pillar guide: The B2B eCommerce Playbook.
Frequently Asked Questions
What payment terms should we offer new customers?
Start new customers on Net-15 or Net-30 with a conservative credit limit (typically one month's expected purchases). After 6-12 months of clean payment history, consider extending to Net-45 or Net-60 with an increased credit limit. Never start a new customer on Net-90 without a credit check and management approval --- the risk of a large, slow-paying first order is too high.
How do we handle customers who consistently pay late?
First, determine why they are paying late. If it is a process issue (invoice goes to the wrong person, PO number is missing), fix the process. If it is a cash flow issue, consider tightening their terms (Net-30 to Net-15) or requiring partial advance payment. If it is a pattern of intentional delay, enforce credit holds and consider a late payment fee. Document every conversation and action in the CRM.
Should we charge interest on overdue invoices?
Late payment interest (typically 1-1.5% per month) is common in B2B contracts but rarely enforced for good customers with occasional delays. Include the provision in your terms and conditions so you have the legal right to charge it, but apply it selectively. Consistently late payers should be charged. Occasionally late customers with a good relationship should receive a warning before interest is applied. The goal is to incentivize timely payment without damaging the relationship.
How does Odoo handle multi-currency payment terms?
Odoo supports multi-currency transactions natively. Invoices can be issued in the customer's currency, with payment terms applied in that currency. Exchange rate gains and losses are automatically calculated when the payment is received and reconciled. For customers in volatile currency markets, consider invoice-date exchange rate locking or USD-denominated invoicing to reduce currency risk.
What Is Next
Payment terms and credit management are the financial backbone of B2B relationships. Getting them right means healthy cash flow, manageable risk, and competitive commercial terms. Getting them wrong means financing your customers' operations at your expense.
ECOSIRE's Odoo implementation services include accounts receivable automation, credit management configuration, and aging analysis dashboard setup. We help B2B companies optimize their order-to-cash cycle and reduce DSO.
Contact us to discuss your payment terms strategy and see how Odoo can automate your credit management operations.
Published by ECOSIRE --- helping businesses scale with AI-powered solutions across Odoo ERP, Shopify eCommerce, and OpenClaw AI.
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transform Your Business with Odoo ERP
Expert Odoo implementation, customization, and support to streamline your operations.
Related Articles
Odoo vs NetSuite Mid-Market Comparison: Complete Buyer's Guide 2026
Odoo vs NetSuite for mid-market in 2026: feature-by-feature scoring, 5-year TCO for 50 users, implementation timelines, industry fit, and two-way migration guidance.
Tally to Odoo Migration 2026: Step-by-Step Guide for Indian SMBs
Tally to Odoo migration playbook for Indian SMBs in 2026: data model mapping, 12-step plan, GST handling, COA translation, parallel run, UAT, and cutover.
Accounting Automation: Eliminate Manual Bookkeeping in 2026
Automate bookkeeping with bank feed automation, receipt scanning, invoice matching, AP/AR automation, and month-end close acceleration in 2026.
More from B2B eCommerce & Operations
B2B E-commerce Strategy: Build a Wholesale Online Business in 2026
Master B2B e-commerce with strategies for wholesale pricing, account management, credit terms, punchout catalogs, and Odoo B2B portal configuration.
Case Study: Wholesale Distributor Achieves 3x Growth with ECOSIRE's ERP Solution
How a B2B distributor modernized from legacy systems to Odoo ERP with barcode scanning, B2B portal, and Power BI, saving $200K annually.
Faire Wholesale Integration with Odoo ERP: Step-by-Step Setup
Complete guide to integrating Faire wholesale marketplace with Odoo ERP. Automate B2B orders, inventory sync, and retailer management.
Odoo Helpdesk: Build a Professional Ticketing System
Build a professional helpdesk with Odoo 19. Configure SLA policies, auto-assignment, customer portal, canned responses, and multi-team support.
ECOSIRE Support Plans: What Level of Support Do You Need?
A complete guide to ECOSIRE's support plans. Understand what each tier covers, how response times work, and how to choose the right support level for your operation.
ERP for Wholesale and Distribution: Orders, Inventory, and Logistics
How ERP systems optimize wholesale and distribution operations through order management, multi-warehouse inventory, route planning, and customer pricing management.