Product Scope¶
This is the document to put in front of a client. It states what NestERP covers, what it is built from, what is available on which Odoo version, and what falls outside the product. The per-module pages under Core Modules are the technical reference behind it.
What NestERP is¶
NestERP is a business management system built on Odoo Community Edition, extended with modules written by CodeNest. It is deployed per client, on the client's own database, and configured to their operations.
It is not a single fixed product. It is a suite — a client takes the functional areas they need, and the areas available depend on which Odoo version their deployment runs.
Out of scope
- The hospital management suite (
nest_hms_*) is nestHMS, a separate product, sold and documented separately. - The Point of Sale / Restaurant modules are excluded from NestERP documentation.
Neither appears anywhere on this site.
Functional coverage¶
| Domain | What it covers | Built from |
|---|---|---|
| Financial accounting | Chart of accounts, journals, customer invoices, vendor bills, payments, VAT, analytic cost centres, period locking, financial statements, budgets | Odoo core account + Cybrosys base_accounting_kit + Heritage dynamic_accounts_report + CodeNest extensions |
| Receivables management | Automated tiered chasing of overdue invoices across email, WhatsApp and SMS; customer statements | CodeNest thalia_invoice_reminders, partner_statement |
| Tax compliance (Tanzania) | Daily reconciliation of recorded sales and purchases against TRA data, VAT and non-VAT streams | CodeNest thalia_tra_reconciliation — in development, not available |
| Inventory | Multi-warehouse stock, receipts and deliveries, internal transfers, stock adjustments, valuation, expiry tracking, dashboards | Odoo core stock, stock_account + CodeNest inventory_dashboard, inventory_adjustments, stock_dashboard, inventory_valuation_report |
| Purchasing | Requests to purchase orders, multi-stage approval workflow, receipt matching, vendor bills | Odoo core purchase + CodeNest purchase_multi_approval, purchase_date_override |
| Sales | Quotations to sales orders to invoices, delivery linkage, sales reporting | Odoo core sale + CodeNest sales_order_override, sales_dashboard |
| Payroll | Salary structures, Tanzanian statutory rules, payslip batches, payroll payment registration, bank export, payslip accounting | Cybrosys hr_payroll_community + CodeNest payroll_custom_module, payroll_department_filter |
| Human resources | Employee records, contracts, leave, attendance, timesheets, recruitment, expenses, loans, salary advances, employee data export | Odoo core hr family + Cybrosys OpenHRMS + CodeNest employee_info_export |
| Manufacturing | Bills of materials and internal conversion of stock between products | Odoo core mrp + CodeNest mrp_internal_conversion |
| Dangerous goods (airport) | DG intelligence and handling per URS v1.0 | CodeNest aegis_dg |
| Management reporting | Consolidated management dashboards across finance, sales, purchasing, HR and budgets | CodeNest thalia_mgmt_dashboard_v17, sales_dashboard, dashboards per domain |
| Multi-branch / multi-company | Company and branch separation of documents and reporting | multi_branch_base |
What the client is actually buying¶
An honest breakdown, because it determines support expectations:
| Tier | Who maintains it | Client impact |
|---|---|---|
| Odoo core (Community) | Odoo SA | Free and open source. No licence fee. Upgrades on Odoo's release schedule. |
| Third party (Cybrosys, Heritage, OCA) | External vendors | Shipped as part of the deployment. We do not control their roadmap. If a vendor does not release for a future Odoo version, that functionality is at risk on upgrade. |
| CodeNest custom | CodeNest | What we build, support and are accountable for. |
Two dependencies a client must be told about
- Payroll rests on a third-party module. Odoo's official payroll is Enterprise-only.
All NestERP payroll is built on Cybrosys
hr_payroll_community. - The Accounting app itself is third-party. Core Community provides only Invoicing.
The Accounting menu, Profit & Loss, Balance Sheet and asset management come from
Cybrosys
base_accounting_kitand Heritagedynamic_accounts_report.
Neither is a defect — both are the standard way to run serious accounting and payroll on Odoo Community. But they are disclosed here rather than discovered at upgrade time.
Version availability¶
See the full matrix at Module availability by version.
The short version:
| Functional area | Odoo 16 | Odoo 17 | Odoo 18 |
|---|---|---|---|
| Accounting & finance | ✅ | ✅ | ✅ |
| Inventory | ✅ | ✅ | ✅ |
| Purchasing (with approvals) | — | ✅ | ✅ |
| Sales | ✅ | ✅ | ✅ |
| Payroll & HR | — | ✅ | ✅ |
| Receivables chasing | — | ✅ | — |
| Management dashboards | — | ✅ | — |
| Manufacturing | ✅ | — | — |
Dangerous goods (aegis_dg) |
✅ | — | — |
Do not promise across versions
aegis_dg and Manufacturing exist on Odoo 16 only. The Thalia finance modules and
management dashboards are Odoo 17 only. Only payroll, purchasing, sales and inventory
extensions exist on both 17 and 18. Anything outside a client's version is a port —
development work, and must be quoted as such.
Out of scope¶
Stating this protects both sides during delivery.
- Fiscal device / EFD integration. No Odoo version integrates with TRA fiscal devices.
thalia_tra_reconciliationreconciles against TRA data; it does not fiscalise receipts at the device level. - Enterprise-only Odoo features — the guided bank-reconciliation widget, Odoo Studio, Odoo Sign, official Odoo mobile apps, IoT Box. Not available on Community and not substitutable by our modules.
- Data migration from a client's previous system — scoped and quoted separately.
- Hardware — printers, scanners, servers.
- Third-party vendor support. Bugs inside Cybrosys, Heritage or OCA modules are raised upstream; we can patch locally but we do not own those codebases.
Deployment model¶
- Odoo Community, self-hosted, one database per client
- Custom modules deployed from git into the addons path
- Client data isolated per database; multi-company handled inside a single database where the client's structure requires it