- ホーム
- Apps
- SaaS Tools
- Hotel POS & Room-Charge (Folio Post)
イメージプレビューPost hotel F&B, bar & spa POS charges to the guest's room folio for one clean checkout settlement.
Built for Odoo 17/18/19.
Hotel POS & Room-Charge (Folio Post)とは?
Post hotel F&B, bar & spa POS charges to the guest's room folio for one clean checkout settlement. Built for Odoo 17/18/19. 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
本番稼働 + サポート
約1週間(営業日ベース)で稼働し、本番稼働後2週間のサポートが付きます。納品したコードの不具合は無償で修正します。
技術仕様
- Odoo互換性
- Odoo 17, Odoo 18, Odoo 19
- エディション
- Enterprise&Community
- ライセンス
- ライセンスの確認が必要です
- Python要件
- Python 3.10+
- データベース
- PostgreSQL 12+
この製品について
Your restaurant, bar, and spa are earning money all day — but if every outlet settles on its own POS terminal, the guest ends up paying five times and your night auditor reconciles five reports by hand. Hotel POS & Room-Charge (Folio Post) closes that gap. It extends the standard Odoo Point of Sale so a cashier can look up an in-house guest, pick their room, and post the order straight to that guest's folio instead of tendering cash or card at the outlet. At checkout, every F&B, minibar, and spa charge is already sitting on the folio, ready for a single settlement.
This is a build-to-order Odoo module — not an instant download from apps.odoo.com. ECOSIRE designs, builds, installs, and supports it against your property's workflow: your outlets, your PMS or folio model, your posting accounts, and your Odoo edition. Typical delivery is one working week from a scoped kickoff.
Under the hood we add a "Room Charge" payment method to pos.payment.method and a new folio-posting flow built on Odoo's ORM. When a cashier selects Room Charge, an OWL screen extension lets them search in-house guests and rooms; on order validation the module writes a folio line (a custom hotel.folio.line model, or a mapped record in your existing PMS model) linked to the pos.order, stamped with the outlet, the guest, the room, and the posting date. Compute fields (@api.depends) keep the running folio balance live, and a QWeb folio report gives the front desk and the guest an itemized statement at checkout. Access is locked down with ir.model.access.csv plus record rules so a bartender can post to a folio but can't reopen a settled one, and only front-desk or night-audit roles can settle or transfer charges.
Per-outlet revenue posting keeps your accounting clean: each outlet (restaurant, bar, spa, room service) maps to its own analytic tag / income account, so room-charged revenue lands in the right ledger and your night audit balances without spreadsheet gymnastics. Where you run a separate PMS, we wire the folio push over XML-RPC / JSON-RPC (or your PMS's REST API) with idempotent posting and a retry/queue so a dropped network call never double-charges or silently loses a check. Everything is delivered as clean, upgrade-safe module code you own, tested on Odoo 17, 18, and 19, Community or Enterprise.
得られるもの
- Complete, upgrade-safe Odoo module (source code you own) with __manifest__.py declaring Odoo 17/18/19 compatibility and correct dependencies (point_of_sale + your PMS/folio module)
- Configured Room Charge payment method, outlet-to-account mapping, record rules, and ir.model.access.csv security tuned to your property's roles
- PMS / folio integration wiring (XML-RPC, JSON-RPC, or REST) with idempotent posting, retry queue, and a mapping document for your booking and folio models
- QWeb folio statement report and any POS receipt tweaks, styled to your brand and itemized per outlet
- Installation and deployment on your Odoo environment (staging first, then production) with a smoke-tested end-to-end charge-to-settlement run
- Admin and cashier documentation plus a recorded or live training session for front-desk, F&B, and night-audit staff
- A defined post-go-live support window (bug fixes and adjustments) with an SLA, plus a compatibility check when you upgrade Odoo versions
- Handover package: technical README, test checklist, and a config export so your team can re-deploy or extend the module
これは誰のためのものですか
F&B / Outlet Manager
Runs the restaurant, bar, and spa POS outlets. Wants staff to post guest charges to rooms in seconds without leaving the POS, and wants each outlet's revenue to show up cleanly under its own center — not lumped into a single anonymous cash drawer.
Front-Desk & Night Audit Lead
Owns checkout and the daily balance. Needs every outlet charge already sitting on the folio so checkout is one settlement, and needs an itemized, tamper-evident statement and a night audit that ties out without manual reconciliation across five POS reports.
Hotel IT / Systems Manager
Responsible for the Odoo and PMS stack. Wants a maintainable, upgrade-safe module that integrates over documented APIs, respects role-based security, and won't double-post or lose charges when the network hiccups between the outlet and the PMS.
Hospitality Group Controller / Owner
Oversees revenue and margins across properties. Wants accurate per-outlet revenue posting into the right ledgers, credit-limit guardrails on room charges, and a clean audit trail for every posted, voided, or transferred charge.
Hotel POS & Room-Charge (Folio Post) の比較方法
| 基準 | エコシエール | カスタムビルド | 競合他社 | Odoo 標準機能 |
|---|---|---|---|---|
| Posts POS charges directly to the guest room folio | Yes — Room Charge tender writes a folio line linked to the pos.order, guest, room, and outlet | Possible, but you design and maintain the whole flow yourself | Sometimes, but tied to that vendor's folio assumptions and rarely to your PMS | No — Odoo core POS tenders cash/card/customer account, with no room-folio concept |
| Per-outlet revenue posting to the correct ledger/analytic account | Yes — each outlet maps to its own income account / analytic tag for clean night audit | Only if you build the mapping and posting logic | Often one generic POS account; per-outlet mapping usually not configurable | No — POS revenue posts without hotel outlet segmentation |
| Fits your exact PMS / folio model and workflow | Yes — scoped to your outlets, folio objects, roles, and posting accounts before we build | Yes, but you own all the analysis, build, and rework | No — you adapt your process to the module's fixed design | No |
| Role-based security (post vs. settle/void/transfer) | Yes — ir.model.access.csv + record rules split outlet-staff and front-desk/night-audit rights | You must design and test every rule yourself | Basic groups only; rarely folio-lifecycle aware | Generic POS access groups, no folio settlement controls |
| Safe PMS posting (idempotent, retry, no double-charge) | Yes — idempotent posting with a retry queue over XML-RPC/JSON-RPC or REST | You build and harden the integration and failure handling | Varies; failure modes often undocumented | No PMS posting exists to make safe |
| Ownership, upgrade-safety across Odoo 17/18/19, and support | You own the code; built and tested on 17/18/19 with a support window and upgrade checks | You own it but carry all maintenance and version risk alone | Vendor-controlled; upgrades and fixes depend on their roadmap | Maintained by Odoo, but the feature simply isn't there |
| Delivery model | Build-to-order — ECOSIRE builds, installs, trains, supports (one working week) | In-house or agency project you manage end to end | Instant install, but as-is and generic | Already installed, but no room-charge capability |
Hotel POS & Room-Charge に関するよくある質問
How long does delivery take, and what's the process?
This is a build-to-order module, not an instant download. Typical delivery is one working week from a scoped kickoff. We start by mapping your outlets, folio/PMS model, posting accounts, and roles; build and test on a staging environment against Odoo 17, 18, or 19; then install to production with an end-to-end charge-to-settlement smoke test and staff training. Complex multi-property or custom-PMS integrations may extend the timeline, which we confirm in writing before we begin.
What support and updates do I get after go-live?
Every build includes a defined post-go-live support window with an SLA for bug fixes and adjustments. Because you own the module source, you're never locked in. When you upgrade your Odoo version, we provide a compatibility check and, if needed, a migration pass. Ongoing enhancements and extended support are available under a maintenance agreement that we scope with you.
Does this work with my existing PMS, or only with Odoo's folio?
Both. If you manage folios inside Odoo, we post to a native folio model. If you run a separate PMS, we push charges over XML-RPC / JSON-RPC or your PMS's REST API, with idempotent posting and a retry queue so a network drop never double-charges or loses a check. During scoping we map your booking and folio objects; if your PMS lacks a usable API we'll tell you up front rather than promise an integration we can't deliver.
Which Odoo versions and editions are supported?
Odoo 17, 18, and 19, on both Community and Enterprise. The module extends the standard Point of Sale app, so it works with Odoo's core POS on Community and with Enterprise POS features where you run them. We build and test against your exact edition and version, and the __manifest__.py declares the supported series so upgrades stay predictable.
How do you stop staff from charging the wrong room or posting to a settled folio?
Guest and room lookup at the POS only lists currently checked-in guests, so a cashier can't post to an empty or checked-out room. Security is enforced with ir.model.access.csv and record rules: outlet staff can post charges, but only front-desk and night-audit roles can settle, void, or transfer them, and a settled folio can't be silently reopened. Optional credit-limit guardrails block or warn when a charge would exceed the allowed folio balance, and every action is stamped in an audit log.
How does per-outlet revenue actually post to accounting?
Each outlet (restaurant, bar, spa, room service, minibar) maps to its own income account and/or analytic tag during setup. When a POS order is room-charged, the folio line carries that outlet tag, so revenue lands in the correct ledger and analytic reporting — not in a single undifferentiated POS account. This lets your night audit tie out per revenue center and gives your controller accurate outlet-level margins without spreadsheet cleanup.
Can charges be split or transferred between rooms and group folios?
Yes. The module supports transferring a charge from one folio to another (for example, moving a bar tab onto a group master folio) and splitting a single check across two rooms. Transfers and splits are restricted to authorized roles and are recorded in the audit trail, so the movement of any charge is always traceable at night audit and checkout.
関連モジュール
Hotel POS & Room-Charge
Post hotel F&B, bar & spa POS charges to the guest's room folio for one clean checkout settlement. Built for Odoo 17/18/19.
- Room Charge tender on the POS payment screen — cashier posts an order to a guest folio instead of taking cash or card at the outlet
- In-house guest and room lookup directly at the POS (search by name, room number, or booking reference) with only currently-checked-in guests selectable
- Outlet tagging on every charge (restaurant, bar, spa, room service, minibar) so each line is attributable to its revenue center
- Live folio balance via computed fields (@api.depends) that roll up all posted charges, payments, and adjustments in real time



