Project, task, hours, invoice and service request are linked in one database. Then sold hours, spent hours and money received all point to one figure. Areas such as field service and Uzbek payroll may require extra work — we say so openly.
The service is sold, but the product is not visible: work is measured in hours and people. If records are kept in Excel and correspondence, profit becomes known on the last day.
The core set for a service company. Helpdesk, Planning, Appointments and Subscriptions are part of Enterprise (not in the open-source code repository). Which apps are needed is determined during the diagnostic.
Task, stage, dependency, template and roles. The project dashboard shows planned and logged hours.
Hours are logged on a task with a timer, a timesheet or from the task itself. The manager sees the entries and approves them.
A service product: the invoicing policy (hours, milestone, fixed amount). When the order is confirmed, a project and a task are opened.
Analytic accounting ties hours and costs to the project. If a budget is entered, the project is compared against it.
A request becomes a ticket card and is assigned to a team. The SLA deadline is counted in working hours.
People, equipment and time in one schedule. In Odoo 20, visits to the customer's address also appear here as shifts.
Device repair at a service center: a repair order is opened from the ticket.
Recurring invoices, renewals and upsell for ongoing services (monthly support, monitoring).
The client books a consultation or appointment by resource and capacity.
Each stage leaves its own record, so sales, the project team and the accountant look at the same figure.
A request arrives by email, a website form, chat or a manager. The customer record is opened and the request goes to the team.
A service product is sold with an invoicing policy: by time logged, by milestone or for a fixed amount. The policy is chosen together with the contract.
If it is set up this way in the product, the project and task open automatically when the order is confirmed. A template and roles speed up repeating work.
In Planning, people and time are assigned. Time off and public holidays are taken into account, and workload is visible in the schedule.
The employee logs hours with a timer while working. Billable and internal work is kept in separate projects.
The manager approves the hours. The hours appear in the order's “Delivered” column, and the invoice is created from it.
The invoice is issued in the electronic invoicing system, and payment is matched against the bank record.
Project revenue and costs are compared. Odoo 20 has new reports for budget, actual and forecast margin.
The example is hypothetical. A consulting company sold a client 100 hours of service. By the end of the project, 140 hours had been worked. Whose account the extra 40 hours go to depends on the contract type. That is why the invoicing policy of the service product in Odoo is decided before the contract is drawn up.
Service work starts with a request. In Helpdesk each request is a separate card, that is, a ticket: it can arrive by email, Live Chat, WhatsApp or a website form. The ticket gets a priority (0 to 3 stars), and the SLA rule counts the deadline in working hours. From the ticket, a repair order, a return or a customer visit is opened.
In Odoo 19, a visit was a task in the separate Field Service app. The Odoo 20 release notes say this app has been discontinued and its capabilities moved into Planning: a visit is scheduled as a shift. The technician taps “Check in”, adds photos and products, fills in the worksheet and taps “Complete”. The customer signs the report. If the warranty flag is set, the amount of materials and services added from the shift is reduced to zero.
Odoo publishes industry packages for service sectors on its website and in its open repository (odoo/industry). It is not a separate app: it is a set of pre-configured apps, fields and templates.
Most of the chain from project to hours to invoice is available in ready-made apps. Field service, electronic invoicing and Uzbek payroll are a separate matter. The information is based on the Odoo 19 and 20 documentation and release notes; if your version differs, we check it during the diagnostic.
| Goal | In standard Odoo | Extra work (BUline) |
|---|---|---|
| Project, task, stage | Available: Project. Dependency, template, roles, milestone | Adapting project templates and task stages to your process |
| Logging and approving hours | Available: Timesheets. Timer, timesheet, approval, four-level access | Separating billable and internal hours, the approval procedure |
| Invoicing by hours | Available: service product, “Based on Timesheets”. Project, Accounting and analytic accounting are required | Product structure by contract type |
| Milestone and fixed amount | Available: milestone (the invoice is created separately), advance payment | The person who approves the milestone and the control rule |
| Project profit | Odoo 20: the old profitability report has been removed, and there are new reports for budget, actual and forecast margin. Their columns were not found in the public documentation | Checking on a test database and, if needed, a custom report |
| SLA and service queue | Available: Helpdesk (Enterprise). SLA is counted in working hours | Rule table, stages, rating email |
| Field service | Odoo 19: the Field Service app. Odoo 20: inside Planning. Mapbox for routing | Worksheet templates, technician inventory, invoicing policy |
| Industry package | Available: Accounting Firm, IT Hardware & Support and others (Odoo S.A., Enterprise) | Checking the scope: whether a package is needed or standard configuration is enough |
| Electronic invoicing | No: not mentioned in Odoo's official Uzbekistan localization (Fiscal Localization → “uz Uzbekistan”) | Connection to the operator's system is estimated |
| From hours to payroll | Uzbekistan is not in the list of payroll packages in the Odoo documentation | Estimated separately: how time entries are passed into the monthly payroll calculation |
The items below have been checked against official sources. Those that apply to your line of business, we list in writing at the diagnostic.
Each connection is assessed and built separately. We do not promise that a “ready-made connector exists.”
Reports are not copied into a separate spreadsheet; they are generated from the documents in the same database.
The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →
We study service types, contract forms, time-logging habits, the service queue and the invoicing flow. Result: a business requirements document (BRD).
We approve the structure of service products, analytic accounting, roles, SLA rules and the route of the electronic document.
First, one service line goes the full way from project to invoice, then come the service desk, field service and integrations.
The manager, specialist, dispatcher and accountant are trained by role. An instruction guide and video lessons are provided.
Enhanced support, then adding new service lines and reports.
This list speeds up the diagnostic. We can start even if not everything is ready.
| Mistake | Consequence | How we prevent it |
|---|---|---|
| Logging billable and internal work in one project | The customer's invoice fills up with internal hours | Separate them into different projects |
| A project with no analytic accounting attached | Revenue and costs do not reach the project, so profit is shown incompletely | Check analytic accounting on every billable project |
| Not entering the hourly cost in the employee card | The hourly cost is not calculated and profit looks overstated | Fill in the employee cards before launch |
| Writing an SLA rule without setting a priority | A priority-based rule does not fire | Set the priority as soon as the ticket arrives |
| Expecting figures from the old profit dashboard in Odoo 20 | The figures appear elsewhere | Before the move, record the old figures and compare them in the new reports |
| Running field service the Odoo 19 way (as a task) | Odoo 20 has no separate app, so the worksheet templates are rebuilt | Run one visit from start to finish in a test database |
Yes. The invoicing rule is chosen on the service product: recorded time, milestone or fixed amount. Timesheet entries are needed in any case: in the first option they go to the customer, in the others they show profit. Mixed schemes (for example, an advance and a milestone) are checked in a test database.
Yes, the Helpdesk app (Enterprise). A request becomes a ticket and is distributed among teams. An SLA rule is set by team, priority, tag and customer, and the deadline is counted in working hours only. The rule kicks in after the priority is changed in the ticket.
In Odoo 19 there was a separate app. The Odoo 20 release notes say it was discontinued and its features moved into Planning: a visit is scheduled as a shift. A full route for the day requires Mapbox. The old worksheet templates may need to be rebuilt.
Uzbekistan is not on the list of payroll packages in Odoo's documentation, and the Uzbekistan section of the Odoo 20 release notes does not mention payroll either. The open-source code shows traces of preparation, but it is not confirmed as a ready-made package. The Apps Store has third-party modules; we have not verified the accuracy of their calculations. Payroll is assessed separately at the diagnostic.
Odoo's official Uzbekistan localization (Fiscal Localization → “uz Uzbekistan”) does not mention a connection to electronic invoicing. The invoice is prepared in Odoo, and the electronic document is issued in the operator's system. The connection depends on what the operator supports and is assessed separately.
Standard apps run on Odoo Online. If a custom module or an Apps Store module is needed, Odoo.sh or your own server is chosen. The hosting requirements of an industry package are checked at the diagnostic. Hosting types →
The Odoo licence depends on the number of users and apps (terms at odoo.com). The scope of BUline's work depends on the number of users, service lines, customization, integrations, data volume and training. The exact cost and timeline are given in a written proposal after the free diagnostic.
During the diagnostic, we review your processes and tell you where standard Odoo is enough and where configuration is needed — with an app list, edition and phases.