跳至主要内容
产品详细信息以英文显示。翻译即将推出。
Web Timer Widget for Odoo — A made-to-order Odoo widget that adds a live elapsed-time timer directly to your views, letting t — 1/1示意预览

A made-to-order Odoo widget that adds a live elapsed-time timer directly to your views,

letting teams start, pause, and log time from the same record they are working on.

ECOSIRE builds it to your exact workflow and installs it on Odoo 17, 18, or 19.

什么是 Web Timer Widget for Odoo?

A made-to-order Odoo widget that adds a live elapsed-time timer directly to your views, letting teams start, pause, and log time from the same record they are working on. ECOSIRE builds it to your exact workflow and installs it on Odoo 17, 18, or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

核心功能

OWL field widget registered in the Odoo field registry, attachable to any form, list, or kanban view via XML view inheritance
Timing mixin model extending models.Model with timer_start, accumulated duration (fields.Float, hours), and a @api.depends computed running total
Browser-side tick that reconciles against server time on stop, so a refreshed tab or dropped connection never loses or double-counts elapsed time
Start / pause / resume / stop controls rendered from a QWeb/OWL template inside the record, no separate app or browser tab
Attachable to standard models (project.task, helpdesk.ticket, crm.lead, mrp.workorder, sale.order) and to your own custom models
Configurable write-through: post captured time to account.analytic.line, a chatter message, or a field on the host record
Access-controlled via ir.model.access.csv and honoring any record rules on the host model — no bypass of Odoo security
Multi-company aware: timer records respect company_id isolation and multi-company record rules
Optional per-user concurrent-timer policy (single active timer vs. multiple parallel timers) enforced in the ORM
Rounding, minimum-billable increments, and idle-timeout auto-pause rules configurable to your billing policy
XML-RPC/JSON-RPC-callable methods to start, stop, or query timers from automated actions, scheduled jobs, or external systems
Optional QWeb report summarizing tracked time per user, record, or period, printable or email-attachable
Automated-action hooks so a stage change or field update can auto-start or auto-stop a timer
Clean __manifest__.py with pinned dependencies, tested against Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise

按需定制,全程代劳

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

  1. 1

    您下单

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

  2. 2

    我们构建与安装

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

  3. 3

    上线 + 支持

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

技术规格

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

关于此产品

Every team that runs Odoo eventually hits the same friction with time capture: staff work inside a record — a task, a ticket, a sales order, a manufacturing order — but to log the time they spent, they have to break context, open a separate timesheet or activity, and reconstruct how long the work actually took. That guesswork erodes the accuracy of billable hours, project cost analysis, and payroll. Odoo core does ship a timer inside the Timesheets and Field Service apps, but it is bolted to account.analytic.line and the project/task model; it does not exist on arbitrary models, it cannot be dropped into an ordinary form or list view, and the moment you want a running clock on helpdesk.ticket, crm.lead, mrp.workorder, or your own custom model, native Odoo runs out of road.

The Web Timer Widget we build for you is a reusable OWL field widget plus a lightweight timing model that you can attach to any Odoo view. Technically, it is a custom @odoo/owl component registered in the field registry, backed by a small mixin model (extending models.Model) that stores timer_start, accumulated duration (a fields.Float in hours), and a @api.depends-computed running total that ticks in the browser and reconciles against server time on stop, so a lost connection or refreshed tab never loses or double-counts elapsed time. The widget renders start/pause/resume/stop controls inside the form or list via a QWeb/XML template, writes through the ORM (respecting your ir.model.access.csv grants and any record rules on the host model), and can post the result straight onto a linked account.analytic.line, a chatter log, or a field on the record itself — whichever your workflow needs. Because it is a proper field widget, it inherits Odoo's access control, multi-company rules, and audit trail rather than living in a disconnected browser tab.

We tailor the build to how your team actually works. That includes deciding which models carry a timer, whether multiple concurrent timers are allowed per user, rounding and minimum-billable rules, idle-timeout auto-pause, and how the captured duration flows downstream — into timesheets for invoicing, into manufacturing labor cost, into helpdesk SLA reporting, or into a custom QWeb report you can print or email. Where you need programmatic control — starting or stopping timers from an automated action, a scheduled job, or an external system — we expose clean methods callable over Odoo's XML-RPC/JSON-RPC API. The widget is written to work identically across Odoo Community and Enterprise; on Community it gives you timer capability that would otherwise only ship inside Enterprise Timesheets, and on Enterprise it extends that capability to models the native timer never reaches. It ships tested against Odoo 17.0, 18.0, and 19.0.

Because this is a build-to-order product, nothing is pre-listed for instant download. After you request a quotation we run a short scoping call, confirm the target models and downstream flow in writing, and give you a fixed quote and delivery date. Typical delivery is one working week from confirmed scope. We develop on a staging copy of your database, run UAT with your team, and deploy behind a tested rollback plan, then hand over the full git repository and documentation. Pricing starts from $999 (indicative, single-company base scope); the number of host models, multi-company timer isolation, downstream integrations (timesheets, MRP, helpdesk, or an external system over RPC), and custom reporting depth increase the quoted scope.

你得到什么

  • Installable source code for your Odoo version (17.0, 18.0, or 19.0), as a self-contained addon
  • Installation and configuration on your environment, including view attachment to the agreed target models
  • Technical documentation: model schema, widget registration, security rules, and RPC method reference
  • End-user guide plus a live training session for the team that will use the timer
  • Post-go-live support window for defect fixes and configuration questions
  • UAT on a staging copy of your database with a documented, tested rollback plan
  • Full git repository handover with commit history and tagged release
  • Signed-off scope document and version-compatibility matrix for future Odoo upgrades

这是给谁的

Professional services & agencies billing by the hour

Teams whose revenue depends on accurate billable time. They need staff to capture hours from inside the task, ticket, or project record they are working on — feeding account.analytic.line and invoicing — instead of reconstructing timesheets from memory at week's end.

Support and field service managers

Helpdesk and service leads who want a running clock on helpdesk.ticket or a service order to measure real handling time against SLAs, without asking agents to leave the record or maintain a separate stopwatch.

Manufacturing and operations leads

Plant and ops managers who need real labor time on mrp.workorder or operational records to cost jobs accurately, where Odoo's native timer never reaches the models they run on.

Odoo administrators and internal IT

The people who own the Odoo instance and want timing capability added the right way — as an access-controlled, multi-company-safe field widget with a maintainable git repo and upgrade path — rather than a fragile one-off patch.

Web Timer Widget for Odoo 如何比较

标准伊科西尔定制建造竞争对手Odoo 原生
Where the timer can liveAny model or view you specify — tasks, tickets, orders, custom modelsWherever you build it, if scoped correctlyUsually one or two fixed models the vendor choseOnly Timesheets/Field Service on project.task
Fit to your workflowBuilt to your confirmed rounding, downstream flow, and rulesFully bespoke but you own the spec and riskTake it as shipped; limited configurationFixed Odoo behavior, no tailoring
Security & multi-companyHonors ir.model.access.csv, record rules, company_idDepends on your team's implementationVaries; often untested for multi-companyFully compliant within its scope
Version & edition coverageTested on 17/18/19, Community and EnterpriseWhatever you build and maintainOften lags new Odoo releasesShips with the version you run
RPC & automation controlDocumented XML-RPC/JSON-RPC methods + automated actionsPossible if you design for itRarely exposed cleanlyNot designed for external control
Ownership & maintainabilityFull git repo handover + docs + compatibility matrixYou own it and all upkeepVendor-controlled, closed roadmapMaintained by Odoo, but not extensible here
SupportPost-go-live support window + optional ongoing engagementYour own teamVendor support tiers, variableStandard Odoo support/partner channels
Time to valueone working week from confirmed scope, fixed quoteUnpredictable; depends on internal capacityInstant install but may not fitImmediate but only for supported models

关于Web Timer Widget的常见问题

Is this an existing app I can download and install right now?

No. This is a build-to-order product. ECOSIRE designs, builds, installs, and supports the widget for your specific Odoo instance and workflow. There is no instant download — after you request a quotation we scope it with you and then build it to your confirmed requirements.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The exact date is fixed in your quote after the scoping call, and depends on how many models carry a timer, the downstream flows involved, and any custom reporting or RPC integration you need.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base scope. We never quote a firm price before understanding your requirements — we hold a short scoping call, confirm the target models and downstream flow in writing, then issue a fixed quote and delivery date. The number of host models, multi-company isolation, integrations, and reporting depth drive the final number.

Which Odoo versions and editions do you support?

We build and test against Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. On Community it gives you timer capability that otherwise ships only inside Enterprise Timesheets; on Enterprise it extends timing to models the native timer never reaches.

What about support and future updates?

Every build includes a post-go-live support window for defect fixes and configuration questions. You also receive the full git repository, so your team or ours can maintain and extend it. We provide a version-compatibility matrix and can quote a separate engagement to port the widget forward when you upgrade Odoo.

Will it respect our access rights and multi-company setup?

Yes. Because the timer is a proper Odoo field widget backed by an ORM model, it honors your ir.model.access.csv grants, any record rules on the host model, and company_id multi-company isolation. It does not bypass Odoo security or live in a disconnected browser tab.

Can we start and stop timers automatically or from another system?

Yes. We can wire automated actions so a stage change or field update auto-starts or auto-stops a timer, and we expose clean methods callable over Odoo's XML-RPC/JSON-RPC API so external systems or scheduled jobs can control and query timers.

申请报价

Web Timer Widget

A made-to-order Odoo widget that adds a live elapsed-time timer directly to your views, letting teams start, pause, and log time from the same record they are working on. ECOSIRE builds it to your exact workflow and installs it on Odoo 17, 18, or 19.

  • OWL field widget registered in the Odoo field registry, attachable to any form, list, or kanban view via XML view inheritance
  • Timing mixin model extending models.Model with timer_start, accumulated duration (fields.Float, hours), and a @api.depends computed running total
  • Browser-side tick that reconciles against server time on stop, so a refreshed tab or dropped connection never loses or double-counts elapsed time
  • Start / pause / resume / stop controls rendered from a QWeb/OWL template inside the record, no separate app or browser tab

申请报价

告诉我们您对 Web Timer Widget 的需求,我们将发送价格、许可选项和量身定制的方案,通常在一个工作日内。

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