跳至主要内容
产品详细信息以英文显示。翻译即将推出。
POS Sales Order & Quotation from Register — Turn any POS session into a B2B counter: convert the cart to a back-office sale o — 1/1示意预览

Turn any POS session into a B2B counter:

convert the cart to a back-office sale order or quotation, take a deposit, and hand off backorders and partial deliveries to Inventory — without leaving the register.

什么是 POS Sales Order & Quotation from Register?

Turn any POS session into a B2B counter: convert the cart to a back-office sale order or quotation, take a deposit, and hand off backorders and partial deliveries to Inventory — without leaving the register. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

核心功能

"Create Sale Order / Quotation" action inside the POS UI (OWL component injected into the `point_of_sale` asset bundle) that serializes the live cart
Cart-to-`sale.order` mapping preserving product, quantity, unit price, discount and tax lines — a real `sale.order`, not a `pos.order`
Choose the document outcome at the counter: draft quotation (`state='draft'`) or confirmed sale order that reserves stock
Deposit / advance capture via Odoo's down-payment product so prepaid amounts post against the final invoice instead of floating as loose POS tender
Partial-delivery handling through `stock.picking` — deliver available lines now, Odoo keeps the backorder open for the rest
Customer credit-limit check reading the partner's outstanding receivable, with configurable warn-vs-block behavior in `res.config.settings`
Customer account resolution from the register (`res.partner`), including on-the-fly create/select before raising the order
Branded QWeb PDF reports for pro-forma and quotation, driven off your report template and company layout
Role-scoped access via `ir.model.access.csv` plus record rules so only permitted POS users raise orders or override the credit block
Configurable quotation numbering / sequence and default deposit product exposed as Settings fields, no source edits to re-tune
Optional automated action (`base.automation`) to notify a sales rep or manager when a counter quotation crosses a value threshold
Register-to-order path callable over JSON-RPC / XML-RPC so external systems can trigger the same flow programmatically
Idempotent, upgrade-safe model inheritance (`models.Model`, `@api.depends` computes) that survives `-u` module upgrades
Verified across Odoo 17.0 / 18.0 / 19.0 with Community-vs-Enterprise down-payment behavior confirmed during scoping

按需定制,全程代劳

无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。

  1. 1

    您下单

    以一次性构建价格开始。我们在启动时与您共同确定范围。

  2. 2

    我们构建与安装

    ECOSIRE 在您的 Odoo 上构建、配置并安装。

  3. 3

    上线 + 支持

    约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。

技术规格

Odoo 兼容性
Odoo 17, Odoo 18, Odoo 19
版本
企业版和社区版
许可证
许可证需要确认
Python 要求
Python 3.10+
数据库
PostgreSQL 12+

关于此产品

Retail counters increasingly serve two customers at once: the walk-in who pays and leaves, and the B2B or special-order buyer who wants a formal quotation, an advance deposit, and delivery of goods you do not have in stock today. Native Odoo POS is optimized for the first case — an order closes atomically against on-hand stock, prints a receipt, and settles the payment immediately. The moment your cashier needs a sale.order with a proper quotation number, a credit check against the customer's property_account_receivable, or a partial delivery that leaves a backorder open, the register runs out of road. Staff drop the customer, walk to a back-office desktop, re-key the cart into Sales, and hope the two documents reconcile. That handoff is where margin, accuracy, and the customer's patience leak away.

This build-to-order module closes that gap by adding a "Create Sale Order / Quotation" action inside the POS UI (an OWL component wired into point_of_sale assets) that serializes the current order lines and customer into a real sale.order record via a controller/ORM path — not a pos.order. The customer set on the register maps straight through, product lines carry their unit price, taxes, and discounts, and you choose the outcome at the counter: a draft quotation (state='draft') to email and print, or a confirmed sale order that reserves stock and generates the delivery. Advance payments are captured as a deposit using Odoo's down-payment product on the order (Enterprise's down-payment wizard where available, an equivalent sale.advance.payment.inv flow on Community), so the deposit posts against the eventual invoice rather than floating as an unlinked POS payment. Where the customer wants some items now and some later, the confirmed order feeds stock.picking so Inventory can validate a partial delivery and Odoo keeps the backorder open automatically.

Technically, the module is a clean, upgrade-safe addon: a declared __manifest__.py depending on point_of_sale, sale_management, and stock; server-side extensions on pos.order/sale.order using models.Model inheritance with @api.depends computes for any derived totals; a credit-limit guard that reads the partner's outstanding receivable and blocks or warns per your policy via a configurable res.config.settings field; access controlled through ir.model.access.csv plus record rules so only permitted POS roles can raise orders or override the credit block; and QWeb reports for the pro-forma and quotation PDFs branded to your template. The register-to-order call is exposed cleanly so it also works over the JSON-RPC/XML-RPC API if you drive it from another system. Everything targets Odoo 17.0, 18.0, and 19.0, and we confirm Community vs Enterprise behavior for the down-payment and any studio-adjacent flows during scoping.

Because this is built to order, there is no instant download. After a short scoping call we confirm your exact flows — quotation numbering, deposit product, credit policy, which POS roles get the button, report layout — write a fixed scope, and build against your Odoo edition and version. Typical delivery is one working week from confirmed scope. You receive the installable source for your version, UAT on a staging copy of your database, a training session for counter and back-office staff, and a post-go-live support window. The Git repository is handed over to you at the end so the code is yours to keep and extend.

你得到什么

  • Installable source code built for your exact Odoo edition and version (17.0, 18.0 or 19.0)
  • Installation and configuration on your environment, including Settings, deposit product, sequences and role permissions
  • Technical documentation: models, fields, security rules, report templates and the JSON-RPC entry point
  • User guide plus a live training session for counter and back-office staff
  • UAT on a staging copy of your database with a documented rollback plan before production
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover so the code is yours to keep, audit and extend

这是给谁的

B2B / trade-counter retailer

Sells to businesses that expect a formal quotation and a delivery note rather than a cash receipt. Needs the counter to raise a real `sale.order` with correct taxes and terms without staff leaving the register.

Special-order and made-to-order shop

Takes deposits on items that are not in stock — furniture, appliances, custom kit. Needs advance-payment capture at the counter and a clean backorder so the balance and delivery are tracked in Inventory and Sales.

Retail operations / store manager

Owns credit exposure and process consistency across cashiers. Needs a credit-limit guard, role-scoped permissions, and pro-forma/quotation PDFs that match company branding — configurable without touching code.

Odoo admin / finance controller

Cares that deposits reconcile against the eventual invoice and that the addon is upgrade-safe across 17/18/19. Needs documented models, security via `ir.model.access.csv`, and a Git handover for audit.

POS Sales Order & Quotation from Register 如何比较

标准伊科西尔定制建造竞争对手Odoo 原生
Fit to your B2B/special-order flowBuilt to your scoped requirementsFully custom but you own every decisionFixed to the author's assumptionsNo sale-order-from-POS path
Deposit / advance captureDown-payment product posts to final invoiceDepends on your developer's designOften loose POS tender, not reconciledPOS payment only, no deposit-on-order
Backorder / partial deliveryFeeds `stock.picking`, backorder kept openBuild it yourself against InventoryVaries; frequently unsupportedPOS closes against on-hand stock only
Credit-limit checkConfigurable warn-or-block on receivableExtra scope to implementRarely includedNot enforced at the register
Odoo 17/18/19 supportBuilt and tested for your versionYou maintain across upgradesDepends on author's update cadenceVersion-native, feature absent
Ownership & sourceGit repo handed over to youYou own itLicensed, source often obfuscatedCore, not modifiable safely
Support & accountabilityPost-go-live window + optional retainerWhoever you hiredAuthor forum, best-effortCommunity/Enterprise general support
Time to working solutionone working week from confirmed scopeLonger; full spec-to-build cycleInstant install, then adapt/fight itImmediate but missing the feature

关于POS Sales Order & Quotation from Register的常见问题

Is this an existing app I can download and install today?

No. It is build-to-order. ECOSIRE builds the module against your Odoo edition and version, installs it, and supports it. There is no instant download because the credit policy, deposit product, numbering and report layout are configured to your business during scoping.

How long does delivery take?

Typical delivery is one working week from confirmed scope. After the scoping call we write a fixed scope covering your exact flows; the clock starts once you approve it. Simpler configurations land nearer two weeks, heavier credit or multi-report requirements nearer four.

Does it create a real sale order or just another POS order?

A real `sale.order` in the back office — with your quotation sequence, taxes, discounts and terms — not a `pos.order`. That is the whole point: the document flows into Sales and Inventory exactly as a desk-entered order would, including delivery pickings and invoicing.

How are deposits and partial deliveries handled?

Advance payments are captured using Odoo's down-payment product so the deposit posts against the final invoice rather than sitting as loose POS tender. Confirmed orders feed `stock.picking`, so you can validate a partial delivery now and Odoo keeps the backorder open for the balance.

Will it work on Odoo Community or only Enterprise?

Both. Core behavior — raising the order, credit check, backorders, QWeb reports — is Community-compatible. Some down-payment conveniences differ between editions; we confirm your edition during scoping and implement the equivalent flow so the outcome is the same.

How do updates and support work after go-live?

Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the Git repository, the code is yours to maintain or extend. We also offer version-migration and ongoing support engagements when you upgrade Odoo (for example 18 to 19).

Can other systems trigger the order creation?

Yes. The register-to-order path is exposed cleanly so it is callable over Odoo's JSON-RPC / XML-RPC API, letting an external system, kiosk or integration raise the same sale order or quotation programmatically with the same validation.

申请报价

POS Sales Order & Quotation from Register

Turn any POS session into a B2B counter: convert the cart to a back-office sale order or quotation, take a deposit, and hand off backorders and partial deliveries to Inventory — without leaving the register.

  • "Create Sale Order / Quotation" action inside the POS UI (OWL component injected into the `point_of_sale` asset bundle) that serializes the live cart
  • Cart-to-`sale.order` mapping preserving product, quantity, unit price, discount and tax lines — a real `sale.order`, not a `pos.order`
  • Choose the document outcome at the counter: draft quotation (`state='draft'`) or confirmed sale order that reserves stock
  • Deposit / advance capture via Odoo's down-payment product so prepaid amounts post against the final invoice instead of floating as loose POS tender

申请报价

告诉我们您对 POS Sales Order & Quotation from Register 的需求,我们将发送价格、许可选项和量身定制的方案,通常在一个工作日内。

现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。