Segregation of Duties in ERP: A Practical Guide
How to set up segregation of duties in your ERP: conflicting roles, access rights design, small-team compensating controls, approvals, audit logs and reviews.
Segregation of duties (SoD) is a basic internal control: the person who creates a vendor should not be the one who pays it. ERP access rights are where it is enforced.
Classic conflicts
| Task 1 | Task 2 | Risk |
|---|---|---|
| Create or edit vendors | Approve payments | Payments to fake vendors |
| Create purchase orders | Receive goods | Paying for goods not received |
| Post invoices | Record customer payments | Hiding stolen receipts |
| Edit employee pay | Run payroll | Payroll fraud |
| Adjust stock | Manage stock count | Hiding theft |
Design roles, not users
Define roles first, such as AP clerk, AR clerk, buyer, warehouse lead and finance manager. Map each role to ERP access groups. Then assign roles to users. This makes reviews and new hires simpler.
In Odoo
Odoo access is based on groups and record rules. Typical controls:
- Billing users can create invoices but not change accounting settings
- Only managers can approve purchases above a threshold; see approval workflows
- Only selected users can change vendor bank accounts, with an automation rule alerting finance
- Lock dates prevent posting in closed periods
Small teams
Small companies cannot always split every task. Use compensating controls:
- Owner or manager reviews payment batches before release
- Monthly review of new vendors and bank account changes
- Regular review of journal entries posted by each user
- Stock adjustments reviewed by someone outside the warehouse
Audit trail
Odoo logs changes in the chatter for many fields and can track additional fields. Make sure key fields, such as bank accounts and prices, are tracked.
Review access regularly
Every quarter or half-year:
- Export users and their groups.
- Check for conflicts.
- Remove access for leavers and role changes.
- Record the review for auditors.
Admin accounts
Limit administrator access to a few people, and do not use admin accounts for daily work.
See our Odoo security best practices or ask for an ERP audit.
Frequently asked questions
What is segregation of duties?
Splitting key steps of a process between different people so no one person can both commit and hide an error or fraud.
How do small companies handle segregation of duties?
With compensating controls, such as owner review of payments, approval thresholds and regular review of logs and reports.
Written by
ERP Builders Team · ERP consultants and engineers
Articles written and reviewed by the ERP Builders delivery team — functional consultants, solution architects and developers who implement, integrate and support ERP systems.
Related articles
Odoo Bank Reconciliation: A Step-by-Step Guide
How bank reconciliation works in Odoo: bank feeds and statement imports, matching rules, reconciliation models, partial payments, fees and month-end checks.
Odoo Payment Providers: Stripe, PayPal and More
How to set up payment providers in Odoo for online payments: Stripe, PayPal, Adyen, Razorpay, saved cards, payment links, fees and bank reconciliation.
Faster Month-End Close With Your ERP
How to close the month faster in an ERP: a close checklist, bank and sub-ledger reconciliations, accruals, inventory checks, consolidation and automation tips.
Next step
Turn the plan into a working system.
Book a consultation with an ERP consultant. No sales script — just an honest look at your situation.