- 首页
- Apps
- SaaS Tools
- POS Analytic Config
示意预览A build-to-order Odoo module that forces every POS order to post against the analytic account defined on its POS
configuration, so shop, till, and channel-level analytic reporting reconciles automatically.
ECOSIRE scopes, builds, installs, and supports it for your database.
什么是 POS Analytic Config?
A build-to-order Odoo module that forces every POS order to post against the analytic account defined on its POS configuration, so shop, till, and channel-level analytic reporting reconciles automatically. ECOSIRE scopes, builds, installs, and supports it for your database. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
核心功能
按需定制,全程代劳
无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。
- 1
您下单
以一次性构建价格开始。我们在启动时与您共同确定范围。
- 2
我们构建与安装
ECOSIRE 在您的 Odoo 上构建、配置并安装。
- 3
上线 + 支持
约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。
技术规格
- Odoo 兼容性
- Odoo 17, Odoo 18, Odoo 19
- 版本
- 企业版和社区版
- 许可证
- 许可证需要确认
- Python 要求
- Python 3.10+
- 数据库
- PostgreSQL 12+
关于此产品
Finance teams that run multiple points of sale in Odoo hit the same wall the moment they try to report profitability per shop, per till, or per sales channel. Out of the box, POS order lines and their journal entries inherit analytic distribution from the product or the income account default — not from the POS terminal that actually rang the sale. That means a downtown shop and an airport kiosk selling the same SKU land on the same analytic account, and your account.analytic.line records can no longer tell you which location earned the margin. The usual workaround — manual analytic re-tagging after each session close, or per-product analytic rules that ignore where the sale happened — is slow, error-prone, and collapses under real transaction volume.
POS Analytic Config closes that gap by making the analytic account a first-class property of the POS configuration itself. We extend pos.config (and, where your version requires it, pos.session) with an analytic account / analytic distribution field, then hook the order-to-accounting bridge so that when a session is posted, every generated account.move.line and the resulting account.analytic.line carry the analytic account defined on the originating terminal. The implementation is a clean inheriting module: a small models.Model extension with the new analytic_account_id (or analytic_distribution) field, a compute/@api.depends override or a targeted super-call on the POS accounting-entry preparation method (_prepare_line, _create_account_move / _prepare_invoice_line, depending on 17.0/18.0/19.0), plus XML views that surface the field on the POS configuration form under Accounting. Security is wired through ir.model.access.csv and, where multi-company isolation matters, record rules so a company only sees and sets its own terminals' analytic accounts. Nothing in the payment or receipt flow is touched — the cashier experience is unchanged; the intelligence lives entirely in the backend posting logic.
Because this is version-sensitive core-accounting territory, we build against your exact Odoo edition and release. The analytic model changed materially across recent versions (single analytic_account_id gave way to JSON analytic_distribution on move lines), and Community vs Enterprise differ in how POS sessions post to accounting, so we pin the __manifest__.py dependencies and the override strategy to what your database actually runs (17.0, 18.0, or 19.0). We validate the posting on staging with real session data, confirm the analytic lines reconcile against your existing analytic plans, and hand over automated tests where the accounting hooks warrant them. Optional extensions we frequently scope in the same engagement include fallback logic (config account first, then product default), analytic distribution splits across plans, and exposing the terminal's analytic account through the XML-RPC/JSON-RPC API for downstream BI.
This is a made-to-order engagement, not an off-the-shelf download. After a short scoping call we confirm your version, edition, chart-of-analytic setup, and any multi-company rules, then quote a fixed price and build it. Typical delivery is one working week from confirmed scope, and you receive the installable source, documentation, UAT on staging, and a post-go-live support window. Pricing starts from $999 (indicative, single-company base scope); multi-company analytic isolation, analytic distribution splits across multiple plans, and migration of historical POS entries to the new analytic mapping increase the quoted scope.
你得到什么
- Installable source code for the module built against your exact Odoo version and edition
- Installation and configuration on your staging environment, then production
- Technical documentation (models, fields, override points, dependency notes)
- End-user / admin guide plus a live training session for finance and POS admins
- UAT on staging with real session data, plus a documented rollback plan
- Post-go-live support window for defect fixes and configuration questions
- Git repository handover with full commit history and tagged release
- Automated tests covering the analytic posting hooks where applicable
这是给谁的
Multi-location retail finance controller
Runs several shops or kiosks on Odoo POS and needs profitability and cost reporting per location. Requires every POS journal entry to land on the right analytic account automatically instead of being re-tagged by hand after each session.
Odoo ERP administrator / functional consultant
Owns the internal Odoo instance and wants a clean, upgrade-safe inheriting module rather than patched core files. Needs it pinned to their release, documented, and handed over as a git repo they can maintain.
Franchise / multi-company operations manager
Manages POS terminals across legal entities and needs analytic isolation so each company's terminals map only to its own analytic accounts, with record rules enforcing the boundary.
BI / analytics lead
Consumes analytic lines in dashboards and reporting tools and needs POS revenue and cost reliably attributed to the terminal that generated it, accessible via the ORM and JSON-RPC/XML-RPC API.
POS Analytic Config 如何比较
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | Odoo 原生 |
|---|---|---|---|---|
| Analytic source | POS config account applied automatically at posting | Whatever you build; design burden on you | Fixed behavior, may map by product not terminal | Inherited from product/income default, not terminal |
| Version fit | Built and pinned to your 17/18/19 + edition | Depends on your team's version knowledge | Generic build; version handling varies | N/A — no per-terminal analytic concept |
| Multi-company isolation | Record rules scoped in the quote | You implement and test the rules | Rarely included out of the box | No terminal-level analytic to isolate |
| Upgrade safety | Clean inheriting module, no core edits | Quality depends on developer discipline | Varies; may override broadly | Not applicable |
| Support model | Post-go-live window + git handover | In-house only | Vendor ticket queue, no source ownership | Community forums / your own admins |
| Testing | UAT on staging + automated hook tests | Whatever you schedule | Depends on vendor QA | None for this behavior |
| Fit to your data | Scoped to your analytic plans and flows | Fully bespoke if you have the time | One-size-fits-all assumptions | Generic defaults only |
| Time to value | one working week, fixed quote after scoping | Unbounded — hiring/dev cycle | Instant install but integration risk | Immediate but does not solve the problem |
关于POS Analytic Config的常见问题
Is this an existing app I can download and install today?
No. This is a build-to-order module. ECOSIRE builds it against your exact Odoo version and edition, installs it, and supports it. You are commissioning a productized development engagement, not buying an instant download.
How long does delivery take?
Typical delivery is one working week from confirmed scope. After the scoping call we agree on version, edition, and any multi-company or fallback requirements, then build, test on staging, and deploy. Complex multi-plan analytic distribution or historical data migration can extend the timeline, which we state up front in the quote.
How does pricing and scoping work?
Pricing starts from $999 as an indicative, single-company base-scope figure. It is not a fixed price — after a short scoping call we confirm requirements and send a fixed quote. Drivers such as multi-company analytic isolation, distribution splits across multiple analytic plans, and migrating historical POS entries increase the quoted scope.
Which Odoo versions and editions do you support?
We support Odoo 17.0, 18.0, and 19.0, in both Community and Enterprise. This matters here because the analytic model changed across versions (single `analytic_account_id` versus JSON `analytic_distribution`) and POS-to-accounting posting differs between editions, so we pin the implementation to what your database actually runs.
What about support and future updates?
Every engagement includes a post-go-live support window for defect fixes and configuration help. Because you receive the full git repository and source, your own team can maintain it. Version upgrades (for example moving the module to a newer Odoo release) can be quoted separately as a maintenance engagement.
Will this change the cashier or checkout experience?
No. The module operates entirely in the backend accounting-posting logic. Payments, receipts, and session close behave exactly as before — the only difference is that posted journal and analytic lines now carry the analytic account defined on the POS configuration.
Does it work for both invoiced and non-invoiced POS orders?
Yes. We hook the session-close journal entries for non-invoiced orders and the per-order invoice lines for invoiced orders, so the terminal's analytic account is applied consistently across both paths. We confirm both flows during UAT on staging.
相关模块
POS Analytic Config
A build-to-order Odoo module that forces every POS order to post against the analytic account defined on its POS configuration, so shop, till, and channel-level analytic reporting reconciles automatically. ECOSIRE scopes, builds, installs, and supports it for your database.
- Adds an `analytic_account_id` / `analytic_distribution` field to `pos.config` so each terminal owns its analytic mapping
- Overrides the POS session-to-accounting bridge so posted `account.move.line` records inherit the config's analytic account
- Propagates the analytic account onto generated `account.analytic.line` records for correct per-shop cost/revenue reporting
- Version-aware implementation: single `analytic_account_id` on 17.0 vs JSON `analytic_distribution` on 18.0/19.0 move lines



