Odoo Field Service and Maintenance in Jordan: Visits, Repairs, JoFotara

Running field service and maintenance on Odoo in Jordan? In Odoo 20, field service moved into Planning, and Maintenance and Repairs remain in Community. Which apps you need, what works offline, and how a visit becomes a JoFotara invoice.

Published 2026-10-17 · METCH

Odoo Field Service and Maintenance in Jordan: which app does which job

Short answer: yes, Odoo can run a Jordanian service business from the customer's call to the JoFotara invoice. It takes several apps working together, not one, and your version changes the menus. Odoo 20, released in September 2026, discontinued the Field Service app and moved its features into Planning, so on-site jobs are now Planning shifts. Many guides online still show Odoo 19 menus, so check which version a guide covers. Already running Field Service on Odoo 19? Test the upgrade on a copy of your database first: worksheets move from Studio fields to property fields, and dispatch moves from tasks to shifts.

For a company that sells and services equipment, the path is:

  • Sales and Inventory with serial numbers, so each unit can be traced to its customer and delivery date when a warranty claim arrives.
  • Helpdesk for the call and its SLA, then Repairs for a workshop job or a Planning shift for a site visit.
  • Inventory and Purchase for spare parts, and Invoicing or Accounting for the JoFotara invoice.

Helpdesk and Planning need Enterprise; the FAQ lists what runs on Community.

Odoo fits if one company sells, services and invoices through JoFotara from one database: a generator, UPS or medical-equipment supplier in Amman, an elevator or fire-alarm contractor with monthly rounds, an HVAC firm, or a plant in Zarqa or a QIZ maintaining its own lines. It fits less if you only supply technicians to firms that hold the customer, the equipment record and the invoice; a simpler scheduling tool may do.

From the customer's call to the right fix: workshop or site visit?

Take an Amman firm that sells and services standby generators and UPS units for clinics, banks and apartment buildings. Every call ends in one decision: bring the unit in, or send a technician.

  • The request arrives as a Helpdesk ticket, and an SLA policy sets a target, such as In Progress within four working hours.
  • Warranty: find the serial number under Inventory > Products > Lots/Serial Numbers; its traceability shows when the unit was delivered to this customer, to compare with your warranty terms.
  • Workshop: a small UPS goes to the service centre. The ticket's Repair button opens a repair order once Repairs is enabled in the team's After-Sales settings (Helpdesk > Configuration > Helpdesk Teams).
  • Site visit: for a fixed generator, Plan Intervention on the ticket, with Field Service enabled in the same settings, creates a Planning shift in Odoo 20 or a Field Service task in Odoo 19. Set the Customer, or the shift cannot start.
  • Under warranty: tick it on the repair order or shift to price added parts at zero.

On site, the technician signs in to the shift, records photos, parts and the worksheet, clicks Complete and collects the signature from Customer Preview.

SLA deadlines count the helpdesk team's Working Hours, which default to the Company Working Hours (Settings > Employees). Add Saturday if your technicians cover it, and load public holidays: New Year, Labour Day, Independence Day, Christmas and the Hijri holidays, including both Eids, as announced each year. A missing holiday keeps the SLA clock running.

Spare parts, imported stock and billing the visit

Parts drive both cost and margin, so set up three flows:

  • Van stock: Odoo 19's field service docs suggest a default warehouse for each technician who keeps a supply in the van; its stock is updated when the task is done. This needs Storage Locations and more than one warehouse, so each van becomes its own warehouse.
  • Reordering: a rule sets a Min and Max per product and location, and with the Buy route it creates an RFQ to the product's first vendor. For parts imported through Aqaba, the vendor lead time must cover sea freight, clearance and trucking.
  • Landed costs: enable Landed Costs in Inventory settings and add customs duty, clearance and the Aqaba-to-Amman truck to the validated receipt, so each imported part carries its real cost. Product categories must use AVCO or FIFO; our inventory post covers both settings.

Billing in Odoo 20: enabling Billing in Planning's Field Service settings installs Sales, and a shift is invoiced through a linked sales order, which Odoo creates when the technician adds products if none exists. Billing by time needs Project, Timesheets and a billable project. Odoo 20 can also charge distance-based travel fees or a fixed travel-time fee, useful for a call-out from Amman to Irbid or Aqaba.

One access trap: adding parts from a shift needs the Sales 'User: All Documents' right, which also shows technicians every sales order and its prices; decide if that is acceptable.

Posted invoices go to JoFotara through the Send action; see the FAQ for setup.

Workshop repairs, your own equipment and maintenance contracts

These are three different jobs; mixing them up is a common design mistake.

  • Repairs: a customer's unit in your workshop, say a UPS returned to your Amman service centre. Besides the ticket's Repair button, Odoo 19 can open a repair order from any inventory operation, such as the unit's return receipt. Confirm Repair reserves the parts, and Odoo 20 can invoice straight from the repair order when no quotation is needed.
  • Maintenance: equipment you own or operate, such as the production line of a plant in Zarqa or a QIZ. On Enterprise with Manufacturing installed, a request's For field can point to a work center instead of a single machine, and a Block Workcenter checkbox then appears so planning can allow for the stoppage. Preventive requests can also repeat at a fixed interval.
  • Customer contracts, such as monthly elevator or fire-alarm rounds: in Odoo 20, plan each round as a recurring shift with the Customer set. By default, recurrences are created six months ahead, unpublished, so publish each month's rounds when you confirm them. Field service in Planning also tracks the customer's equipment, its intervention history and whether a maintenance contract in Subscriptions covers it. On Odoo 19, Project's Recurring Tasks play this role, creating each next visit when the previous one is closed.

If your business is only workshop repairs and maintaining your own machines, Repairs and Maintenance also run on Community, with no licence fee; field service, Helpdesk and Subscriptions do not.

Measuring the service desk: revisits, SLA misses and job cost

Before go-live, agree the three numbers management will read each month, and where each one comes from.

  • SLA misses: Helpdesk reports give Hours to First Response and Working Hours to Close, both in working hours, plus the Number of SLA Failed tickets. Group them by team or ticket type to see where response breaks down.
  • Revisits: Odoo has no built-in first-time-fix rate. Create a tag such as Second visit, add it to every ticket that needed another trip, and read its share in a pivot table by technician, product or customer.
  • Job cost: project profitability compares revenue with costs per billable project, so one project per maintenance contract shows whether that contract earns money. Cost per individual job needs a custom report. Landed costs matter here: a generator part valued at its supplier price alone makes the job look cheaper than it was.

One limit to test, not assume: Odoo 20's offline mode lets a technician edit records opened earlier, but its docs say it is meant for short-term interruptions and that images cannot be uploaded offline; Sign In, Complete and adding products are not documented as offline actions. If technicians work in standby-generator rooms in basement car parks, switch the network off in a test database and run a full visit before relying on it.

METCH is an official Odoo Ready Partner, listed in Riyadh in Odoo's partner directory, and serves companies in Jordan. Book a free consultation and bring one real job from last month; we will walk it through Odoo with you.

Frequently asked questions

Can Odoo send service-visit and repair invoices to JoFotara?

Yes. They are ordinary Odoo invoices, so Odoo's Jordan e-invoicing module (l10n_jo_edi) submits them when you use Send with JoFotara (Jordan EDI) selected, with the 16% general sales tax on taxable lines. Setup needs the Activity Number, Secret Key and Client ID generated through JoFotara, and your taxpayer type. The company must be set to Jordan with JOD, its TIN and the exact name registered with ISTD, and customers need a country and tax ID. Agree exempt and zero-rated sales, such as exports, with your accountant first.

Which Odoo apps does a generator, UPS or medical-equipment supplier in Jordan need?

Usually these: Sales and Inventory with serial numbers, so every unit sold can be traced; Helpdesk for tickets and SLAs; Repairs for the service centre; field service in Planning (Odoo 20) or the Field Service app (Odoo 19) for site calls; Purchase for imported parts; and Invoicing or Accounting with Odoo's JoFotara module. Helpdesk, Planning and Field Service are Enterprise only. Sales, Inventory, Purchase, Repairs and the JoFotara module, which is LGPL, also run on Community, which has Invoicing but not the full Accounting app.

What is the difference between the Odoo Repairs module and the Maintenance module?

Repairs is for items customers bring to your workshop: a repair order lists parts to add, remove or recycle, can be marked Under Warranty, and becomes a quotation or, in Odoo 20, an invoice directly. Maintenance is for equipment and work centers you operate: breakdown and preventive requests, recurring schedules, and MTBF and MTTR in days. A Jordanian supplier that sells and services equipment usually needs Repairs for its workshop and field service for site calls, and Maintenance only for its own machines.

How much does Odoo cost for a field service team in Jordan?

Budget four items, not just licences. Licences: field service in Planning, Helpdesk and Subscriptions need Enterprise, and Odoo's prices vary by country, so check its pricing page from Jordan. Odoo also offers a Light User licence for staff who only need Field Services, My Planning and similar self-service apps, quoted through an Odoo Advisor; ask for the Jordan price and whether technicians who add parts qualify. Then implementation and training, JoFotara onboarding, and phones or tablets for technicians. For implementation, try the pricing estimator on our site.

Need help with this?

METCH is a certified Odoo partner serving Jordan — book a free consultation.

Get a proposal