Field Service & Maintenance Oct 1, 2026 • 8 min read

ERP for AMC and Maintenance Companies: PPM Schedules, Service Tickets and Invoicing

ERP for AMC and Maintenance Companies: PPM Schedules, Service Tickets and Invoicing

Short answer: AMC and maintenance contracting businesses lose money in three predictable places — planned visits that quietly never happen, chargeable work that never reaches an invoice, and contracts nobody notices have expired. All three are scheduling and paperwork problems, not technical ones. An ERP that holds the contract, generates the preventive maintenance calendar from it, captures service tickets against it and bills from what actually happened closes all three gaps at once.

Annual maintenance contracting looks like a simple business from the outside. You sign a contract, you visit the site on a schedule, you fix things when they break, you invoice quarterly. In practice it is one of the hardest service models to run profitably, because almost everything that determines the margin happens away from the office — in a van, on a roof, in a plant room, recorded on a paper job sheet that may or may not come back.

The symptoms are consistent across HVAC, lifts and elevators, fire and safety systems, generators, IT infrastructure, facilities management and medical equipment:

This guide covers how to run the whole cycle — contract, planned preventive maintenance, service tickets, parts, invoicing and renewal — inside one system, and which parts genuinely benefit from automation.

Start with the contract, not the ticket

Most maintenance businesses that computerise start with the wrong object. They buy a helpdesk, start logging tickets, and discover a year later that tickets alone cannot tell them whether a contract is profitable, because the contract was never modelled.

The contract is the parent record. Everything else hangs off it. A properly structured AMC contract holds:

Element Why it matters
Covered assetsSpecific units with serial numbers, not "the air conditioning" — disputes are always about a particular machine
Period and valueDrives both the billing schedule and the renewal alert
Visit frequencyMonthly, quarterly, half-yearly — the basis of the PPM calendar
Scope inclusions and exclusionsDecides what is billable; usually the single biggest margin lever
Response and resolution SLAMeasurable only if ticket timestamps are captured honestly
Parts treatmentIncluded, excluded, or capped — must be explicit or it becomes a monthly argument

Get this structure right and the rest of the system has something to attach to. Get it wrong and you are running a ticket log, not a maintenance business.

Planned preventive maintenance that generates itself

PPM is where contracts are won and margins are lost. Customers buy the promise of planned visits; contractors lose money when those visits bunch up at the end of the period and get done badly, or get skipped and are later claimed as delivered.

The fix is to stop treating the schedule as a document and start treating it as generated data. When a contract is activated, the system creates the full calendar of planned visits for the period — every asset, every due date, for the whole term. From that point the questions the business actually needs answered become queries rather than investigations:

That last question is the profitability signal. A site generating three breakdown calls for every planned visit is either under-maintained or under-priced, and both are fixable — but only once you can see it.

ERPNext provides a maintenance schedule and maintenance visit structure that covers this pattern, with asset-level maintenance tasks and logs for equipment you own or manage. For most contractors the useful customisation is a checklist per equipment type, so a chiller visit and a fire pump visit capture genuinely different readings rather than a shared free-text box.

A practical detail that matters more than it should: generate planned visits with a due window rather than a fixed date. A quarterly visit due "in the first half of March" gets scheduled around the route and completed. One due "on 14 March" gets missed, then rescheduled, then argued about.

Service tickets: reactive work, captured properly

Breakdown calls are where the SLA lives and where billing leaks. A ticket needs to carry, at minimum, the customer and the specific asset, the contract it falls under, timestamps for reported, assigned, attended and resolved, the technician, the work done, parts consumed, and — critically — a scope decision: was this covered, or is it chargeable?

That scope decision should be made by the technician at the point of work, on the device, while the customer is standing there. Made later in the office, from a job sheet, it is a guess; and guesses default to "covered," because nobody wants to invoice a customer for work they have already accepted.

A few rules that consistently improve capture:

Spare parts and van stock

Every maintenance business has more inventory than it thinks, and most of it is in vehicles. Treating each van as a warehouse — with issues, returns and periodic counts — turns an invisible cost into a managed one.

The pattern that works: parts move from the main store to the van as a stock transfer, and from the van to the job as a consumption entry against the ticket. The van's balance is then always knowable, and a quarterly count reconciles it. Without the second step, parts vanish from the books the moment they leave the store and contract costing is fiction.

Invoicing: the part that pays for the system

AMC billing has two streams, and they behave differently.

The contract stream is predictable: a fixed value billed monthly, quarterly or annually in advance or arrears. This should be automatic. A recurring billing setup against the contract raises each invoice on schedule without anyone remembering to do it, and the revenue can be recognised across the period rather than landing in one month and distorting the accounts.

The chargeable stream is where the money is won or lost: out-of-scope repairs, parts outside the cap, work outside covered hours, additional equipment. This stream only exists if the scope decision was captured at the ticket. Where it is, the invoice can be raised from the ticket itself, with the parts and labour already on it, and the whole "what did we do for them last month" conversation disappears.

Two regional points worth building in from the start:

What to automate — and what to leave alone

Automation in maintenance businesses pays off fastest where the task is repetitive, date-driven and currently depends on somebody remembering. It pays off worst where it replaces judgement.

Automate Why it works
PPM visit generation from the contractRemoves the single most common cause of missed visits
Recurring contract invoicesPredictable, dated, and costly to forget
Renewal alerts at 90, 60 and 30 daysRenewal is cheaper than acquisition; silence loses contracts
SLA breach escalationA breach the manager hears about today is recoverable
Overdue-visit digest to operationsTurns a monthly panic into a weekly correction
Customer notification on assignment and completionRemoves most "when are you coming" calls

What not to automate: technician assignment in a business where skills, geography and customer relationships all matter. Auto-assignment by round robin looks efficient in a demo and produces the wrong engineer on the wrong site in practice. Propose, do not decide.

The reports that actually change decisions

Once contract, PPM, tickets, parts and invoices live in one system, four reports become available that most maintenance businesses have never had:

Implementation order that works

Maintenance businesses cannot pause to implement software, so sequence matters more than usual:

Teams that start with billing because it is the visible pain almost always stall, because billing depends on data that only accumulates once the earlier steps run.

Frequently asked questions

Can technicians use this without a laptop?
Yes — the practical requirement is a mobile-friendly interface for viewing the day's visits, recording work done, consuming parts and capturing a signature. Offline capability matters if your sites include plant rooms and basements, so confirm it rather than assuming it.

We run both AMC contracts and one-off jobs. Does that work?
It is the normal case. One-off jobs simply have no parent contract, so every line is chargeable. The same ticket, parts and invoicing flow serves both.

How do we handle contracts where parts are capped rather than included?
Track parts consumption against the contract and compare it to the cap. Once the cap is reached, subsequent consumption is flagged chargeable. This needs the parts-to-ticket discipline described above; without it the cap cannot be measured.

Will this tell us which customers to drop?
It will tell you which contracts lose money. Whether to drop, reprice or re-scope them is a commercial decision — but it becomes an informed one, and repricing at renewal is usually the better answer.

How long before we see the benefit?
Missed-visit visibility appears in the first cycle. Revenue leakage typically shows up within a quarter, once enough tickets carry scope decisions. Contract profitability needs a full period of clean data to be trustworthy.

The bottom line

AMC is a business of small, repeated obligations. Any single missed visit or unbilled repair is minor; a year of them is the difference between a healthy contract book and a busy one that makes no money.

The system does not need to be clever. It needs to hold the contract, produce the schedule from it, capture what actually happened on site, and bill from that — reliably, every month, without depending on anyone's memory.

Ready to upgrade your enterprise?

Contact TABSYST Services

Free ERP Consultation

30 minutes with an ERP consultant who understands accounting. We will tell you honestly whether ERPNext fits your business — no obligation, no sales script.

We reply within one business day. Your details are never shared.