- Home
- Industries
- Professional and technical services
From service delivered to cash, every day measured
For professional firms, maintenance companies and service desks. We measure where the hour, the visit or the ticket stalls before it reaches cash, and then we implement.
The route of an hour, a visit or a ticket
Seven stations separate work delivered from cash. Choose a station to see what usually happens, what is measured and which Odoo 20 screen records it.
1Work delivered
What usually happens today
Professional firm: A consultant handles a change the client asked for by email that is not in the signed proposal.
Field technical service: The technician replaces a capacitor on the rooftop and writes it on the paper service report.
Service desk and IT: An analyst fixes a fault over WhatsApp that was never logged as a ticket.
What is measured
Out-of-scope work: hours on tasks outside the signed scope without a change order ÷ project hours. In field and desk services: requests handled through unrecorded channels ÷ total requests.
In Odoo 20
Firm: project task with a change order in Sales. Field: Field Service task with a worksheet. Desk: Helpdesk ticket created from email, the web form or WhatsApp (requires a Meta Business account).



2Recording
What usually happens today
Professional firm: Hours are entered on the last day of the month, from memory, in one sheet per person.
Field technical service: The service report reaches the office with the technician, at the end of the week.
Service desk and IT: Time spent on each ticket is not logged; it is estimated when the client report is put together.
What is measured
Hours recorded on time: hours entered within 48 hours of the day worked ÷ hours entered.
In Odoo 20
Timesheets from the task, the ticket or the field order, also in the mobile app, with a timer.

3Review
What usually happens today
Professional firm: The partner checks the hours in Excel before preparing the pre-invoice.
Field technical service: The coordinator retypes the report and looks for the client's signature in a photo.
Service desk and IT: Consumption of the prepaid hours bundle is calculated by hand at month end.
What is measured
Billing leakage: (billable hours recorded − hours invoiced) ÷ billable hours recorded.
In Odoo 20
Timesheet validation by the manager; client signature on the field worksheet.
- Timesheet enteredby the person, the same day
- Manager validationbillable and non-billable hours split
- Client signatureon the worksheet, on site
- Pre-invoice with no retypingvalidated hours flow to the order
4Invoice
What usually happens today
Professional firm: The milestone was approved in a meeting and billing finds out weeks later.
Field technical service: The invoice waits for the signed report, and the report waits for the technician.
Service desk and IT: The monthly contract fee is issued by hand every month.
What is measured
Days from close to invoice: invoice date − close date of the order, milestone or service month. Risk watched: invoices issued outside the month of service.
In Odoo 20
Service invoicing policy (by hours, milestone or delivered quantity) on the sales order; Subscriptions for recurring fees; SUNAT e-invoice with the Peruvian localisation.


5Acceptance
What usually happens today
Professional firm: The client requires its goods-receipt sheet or service order before accepting the invoice.
Field technical service: The signed acceptance form stays in the van or gets lost.
Service desk and IT: The client makes acceptance conditional on the monthly SLA report.
What is measured
Invoices without timely acceptance: negotiable invoices disputed or not accepted ÷ invoices issued. The buyer has 8 business days to dispute (Law 29623 as amended).
In Odoo 20
Customer portal with invoices and documents; online signature. Recording acceptance of the negotiable invoice is manual.
- Day 0invoice issued and posted to the customer portal
- Business days 1 to 8buyer’s window to dispute
- Business day 9with no dispute, the negotiable invoice is accepted

6Withholdings (SPOT)
What usually happens today
Professional firm: The SPOT balance grows at Banco de la Nación without anyone reviewing it.
Field technical service: No one checks that the client deposited the withholding for each invoice.
Service desk and IT: Deposit certificates arrive by email and no one matches them to the invoice they pay.
What is measured
Days of cash tied up by SPOT: average balance in the SPOT account ÷ daily sales subject to SPOT. Risk: SPOT invoices without a deposit certificate.
In Odoo 20
SPOT data on the e-invoice. Reconciling the Banco de la Nación statement requires a custom import.
7Collection and margin
What usually happens today
Professional firm: Project margin is known when the year is closed.
Field technical service: The spare part that left the van does not appear on any invoice.
Service desk and IT: Each contract’s billing is known, but not how many hours it consumes.
What is measured
Days sales outstanding (DSO) and contribution margin by project or contract: (revenue − cost of hours − expenses − parts) ÷ revenue. Risk: receivables more than 90 days overdue.
In Odoo 20
Tiered payment follow-up; project profitability in its dashboard; analytic accounting by project or contract.


The formulas are the same ones used by the self-assessment report and the F1 diagnosis baseline.
The money on its way, with your figures
Enter five figures from your company and, if you know it, your borrowing rate. The calculation shows how many days pass from service to cash, how much money is in transit and what it costs to finance.
Editable example: the starting values are samples; replace them with yours.
- Days from service to cash
- 57
- Cash in transit
- S/ 152 000
- SPOT balance tied up
- S/ 11 328
- Annual financing cost
- —Shown once you enter your rate.
- One day less between service and invoice frees once
- S/ 2 667And each year, in financing cost: —
The calculation shows money on its way and what it costs. How much is recovered is measured in the F1 diagnosis with your records.
Calculation formulas
- Daily sales: monthly billing ÷ 30
- Days from service to cash: days to invoice + days to collect
- Cash in transit: daily sales × days from service to cash
- SPOT balance: monthly billing × share subject to SPOT × 1.18 × 0.12 × days at Banco de la Nación ÷ 30
- Annual financing cost: (cash in transit + SPOT balance) × annual rate
- One day less: daily sales freed once as cash, and daily sales × annual rate each year
Editable example
Unbilled hours
Repeat visits
- Hours worked and not invoiced per month
- 120
- In soles per month
- S/ 14 400
- Per year
- S/ 172 800
- Cost of repeat visits per month
- S/ 4 680
- Per year
- S/ 56 160
The calculation shows money on its way and what it costs. How much is recovered is measured in the F1 diagnosis with your records.
12 % SPOT for “other services subject to VAT” in transactions above S/ 700, Annex 3 of RS 183-2004/SUNAT as amended. An invoice subject to SPOT carries no VAT withholding. Confirm your service code at orientacion.sunat.gob.pe. Reference business lending rates: sbs.gob.pe.
The self-assessment turns your route into a baseline
Answer the self-assessment for your type of service. Your answers show your level in five dimensions and the value case worth measuring first.
If you add baseline figures, excluding VAT and as approximations you know, the report calculates the effect in soles with your numbers.
Five dimensions
- From work done to invoice issued
- Sellable capacity and key-person dependence
- Client commitments monitored on time
- Cash held back: acceptance, SPOT and collection
- Margin and scope while the service runs
Or book the 30-min diagnosis directly
Report structure. Values appear with your answers.
Result by dimension
- From work done to invoice issued
- Sellable capacity and key-person dependence
- Client commitments monitored on time
- Cash held back: acceptance, SPOT and collection
- Margin and scope while the service runs
Level: initial, developing, managed or optimised. Each dimension with its KPI and KRI.
Priority value case
Among the cases for your type of service, the one with the lowest score. In a tie, the one with the fastest payback in the conservative scenario.
Baseline
| Figure | Your answer | To measure in F1 |
|---|---|---|
| Billable people | your figure | to measure in F1 |
| Days to invoice | your figure | to measure in F1 |
| Days to collect | your figure | to measure in F1 |
| SPOT balance | your figure | to measure in F1 |
| Hours recorded and invoiced | your figure | to measure in F1 |
Benefit formulas
The formulas for the priority case’s lever, with the figures you gave and the missing ones marked.
formula × your figure
Scenarios
Conservative and base. Capture percentages are design assumptions calibrated with the pilot. The decision uses the conservative one.
Measurement at 90 and 180 days
Leading indicators at day 90 and outcome indicators at day 180, with the Odoo 20 screen where each is read.
Gaps to verify
What standard Odoo 20 does not do in your case and how it would be solved: configuration, another module or development.
When you finish you receive the report with its financial structure and no projected amounts. The version with scenarios, NPV and payback is reviewed first: every figure carries its source (your answer, a formula or a dated source) and every assumption is marked.
Three value cases and the indicator for each
Each case groups the processes that get organised together. The self-assessment shows which one to measure first in your company.
| A. From recorded hour to invoice | B. Field order closed and invoiced the same day | C. Contracts with SLAs, penalties and renewal | |
|---|---|---|---|
| For | Professional firms and service desks | Field technical service | Field and service desks under contract |
| What gets organised | Project, timesheets, invoicing by hours or milestones, analytic accounting | Field order with worksheet and signature, parts per vehicle, invoice from the order | Response times, recurring fees, renewals and payment follow-up |
| Indicator measured first | Billing leakage, between day 30 and 60 | Days from close to invoice, from day 30 | SLA compliance, between day 60 and 90 |
| Risk watched | Out-of-scope work without a change order; projects with a cost index below threshold | Uncounted parts in vehicles; safety incidents on site | Tickets about to breach; contracts expiring unmanaged; SPOT not deposited |
| Hardest figure to get | Hours worked that were never recorded (estimated by sampling) | Actual cost of a visit | Historical penalties per contract |
| Development | None for the core | None for the core; routing as an integration | SLA report and penalty calculation |
A. From recorded hour to invoice
- For
- Professional firms and service desks
- What gets organised
- Project, timesheets, invoicing by hours or milestones, analytic accounting
- Indicator measured first
- Billing leakage, between day 30 and 60
- Risk watched
- Out-of-scope work without a change order; projects with a cost index below threshold
- Hardest figure to get
- Hours worked that were never recorded (estimated by sampling)
- Development
- None for the core
B. Field order closed and invoiced the same day
- For
- Field technical service
- What gets organised
- Field order with worksheet and signature, parts per vehicle, invoice from the order
- Indicator measured first
- Days from close to invoice, from day 30
- Risk watched
- Uncounted parts in vehicles; safety incidents on site
- Hardest figure to get
- Actual cost of a visit
- Development
- None for the core; routing as an integration
C. Contracts with SLAs, penalties and renewal
- For
- Field and service desks under contract
- What gets organised
- Response times, recurring fees, renewals and payment follow-up
- Indicator measured first
- SLA compliance, between day 60 and 90
- Risk watched
- Tickets about to breach; contracts expiring unmanaged; SPOT not deposited
- Hardest figure to get
- Historical penalties per contract
- Development
- SLA report and penalty calculation
Baseline before implementing, measurement at 90 and 180 days
Each intervention is judged by the indicator it moves. The baseline is signed before the first change and measurement uses the same query.
- Day 0
Signed baseline
The previous twelve weeks, measured in the F1 diagnosis from your records or by sampling. You sign the values before implementation starts.
- Day 90
Adoption and indicators of the new operation
Hours recorded on time, days from close to invoice and SLA compliance: they depend only on how work is done after the change.
- Day 180
Valued result
Days to collect, margin by project or contract and renewal, which carry earlier balances, and the benefit in soles against the baseline.
Two scenarios are presented and the decision uses the conservative one, which includes only levers measurable with system data. Cash freed once by shortening terms is counted in the month it is measured; it is not annualised.
In services, training has its own cost: every training hour of a billable person is an hour not sold. The investment includes it.
See the DMG-RT method, from F0 to F5Formula sheet
- Net monthly benefit
- Benefit of each lever − licences and support for the month
- ROI
- (Cumulative benefit − initial investment) ÷ initial investment
- NPV
- Monthly flows discounted at your company’s cost of capital, minus the initial investment
- IRR
- Rate that makes NPV zero; reported only if the flow changes sign once
- Simple and discounted payback
- First month in which cumulative benefit, undiscounted and discounted, covers the investment
What we implement and what we analyse with you
A service company combines several systems. For each one we state our scope and link to its analysis.
| System | What it covers in a service company | Scope | Page |
|---|---|---|---|
| CRM | From opportunity to proposal and contract | We implement with Odoo CRM | See analysis |
| PSA, professional services | Hours, rates by role, progress billing and margin by project | We implement with Odoo Project, Timesheets and Planning | See analysis |
| Project management | Plan, tasks, milestones and team workload | We implement with Odoo Project | See analysis |
| Helpdesk | Tickets with priority, response time, hours per client and survey | We implement with Odoo Helpdesk | See analysis |
| Field service | Orders by zone and technician, app, parts and signature | We analyse the process and help you choose the platform | See analysis |
| ITSM, IT services | Incidents, requests, problems and changes with ITIL practice | We integrate with your ERP | See analysis |
| CLM, contracts | Clauses, obligations and expiry dates of each contract | We analyse and help you choose | See analysis |
| Contact centre | Calls and conversations across channels | We integrate with your CRM and helpdesk | See analysis |

Limits of standard Odoo 20 in services
- Project earned value (cost and schedule indices) is not native: it is calculated with a custom report.
- Revenue recognition by percentage of completion (IFRS 15) on fixed-price projects requires an assisted closing entry or development.
- Penalties and service credits calculated from the SLA require development.
- Reconciling SPOT deposits at Banco de la Nación requires a custom statement import.
- Technician route optimisation is solved with an external integration; offline work is verified on the platform before committing to it.
Peruvian rules that change days to collect
Part of a service company’s collection depends on tax and commercial rules. These are the ones that enter the calculation.
| Rule | Provision | Effect on cash | Source |
|---|---|---|---|
| IGV (VAT) | 18 % (16 % IGV plus 2 % IPM) | The page calculates without VAT; SPOT is calculated on the amount including VAT | sunat.gob.pe |
| SPOT withholding | 12 % of the amount for “other services subject to VAT”, on transactions above S/ 700 | That part of the payment stays at Banco de la Nación until used for taxes or released | RS 183-2004/SUNAT, Annex 3, as amended · orientacion.sunat.gob.pe |
| VAT withholding | Withholding agents keep 3 % of the amount paid; it does not apply to transactions subject to SPOT | Less cash when collecting from large clients on invoices without SPOT | RS 037-2002/SUNAT as amended · orientacion.sunat.gob.pe |
| Fourth-category withholding | 8 % on fee receipts above S/ 1,500 | Cost and recording of external consultants | orientacion.sunat.gob.pe |
| Negotiable invoice | The buyer has 8 business days to dispute | Without acceptance the invoice cannot be discounted | Law 29623 as amended · leyes.congreso.gob.pe |
| Personal data | Processing with consent and registration of the database | Serving clients from unregistered personal phones is a risk | Law 29733 · gob.pe/minjus |
| Occupational safety | OHS management system and SCTR insurance in risk activities | Work at height without prior registration can halt the service | Law 29783 · gob.pe/mtpe |
Rates checked with SUNAT on 30/10/2026. They are confirmed before each page update.
Questions about services, hours and collection
All my projects are different. Does it still work?
Yes. What gets standardised is the route to cash: how work is recorded, when the invoice goes out and how margin is measured. Each project keeps its scope, milestones and rate.
I already issue e-invoices with another system. Do I have to change it?
Not necessarily. In the F1 diagnosis we measure where days and hours are lost. If the problem is before the invoice, recording and review can be organised while your invoicing system stays connected.
What about the hours that are not recorded today?
In F1 we estimate them by sampling for two to four weeks with your team. That figure enters the baseline marked as estimated.
Does the Cash clock estimate how much I will save?
No. It shows money on its way and its cost with your figures. How much is recovered depends on the gap measured in F1 and is projected in two scenarios, with assumptions marked.
Do you implement field service?
We analyse the process from order to invoice, write the requirements and help you choose the platform, Odoo Field Service included. The chosen vendor carries out the implementation.
What data do you ask for and who sees it?
In the self-assessment, ranges and practices. Cost per person, cost of capital and penalties are requested only on the call or in F1, under a confidentiality agreement.
How long does the F1 diagnosis take?
Fifteen business days. It ends with a findings letter and a preliminary baseline that you review.
Review a recent service with Diego, from order to cash
In 30 minutes you walk through the route of one of your services in the lab Odoo and mark the station where it stalls. Diego Muñoz answers in person, on Lima time.
For the meeting, have at hand · Professional firm
- A closed project with its proposal and invoices
- One month of timesheets
- The rate by role you quote
For the meeting, have at hand · Field technical service
- One week of orders with their service reports
- The list of technicians and vehicles
- A current maintenance contract
For the meeting, have at hand · Service desk and IT
- A contract with an SLA and its latest client report
- One month of tickets, from whichever channel you use
- A client’s hours bundle and its consumption