A purpose-built ERPNext application for HVAC installation and service companies — dispatch board, job cards, AMC contracts with automated renewals, per-unit equipment service history and van spare-part stock, wired end to end from quotation to invoice. ECOSIRE scopes, builds, installs and supports it for your ERPNext v15 or v16 site. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.
示意预览A purpose-built ERPNext application for HVAC installation and service companies
— dispatch board, job cards, AMC contracts with automated renewals, per-unit equipment service history and van spare-part stock, wired end to end from quotation to invoice.
ECOSIRE scopes, builds, installs and supports it for your ERPNext v15 or v16 site.
无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。
以一次性构建价格开始。我们在启动时与您共同确定范围。
ECOSIRE 在您的 ERPNext 上构建、配置并安装。
约 2–4 周内上线,并提供上线后的支持期。
HVAC companies live between two systems that never talk to each other. The office runs quotations, purchase and invoicing somewhere; the field runs on WhatsApp, printed job sheets and a technician's memory of which compressor was replaced on which rooftop unit last summer. The result is familiar: AMC contracts that quietly expire because nobody was watching the renewal date, second visits because the van did not carry the right TXV or filter drier, warranty claims that fail because the serial number was never captured, and month-end invoicing that reconstructs three weeks of work from photographs of paper. ERPNext gives you a genuinely strong commercial and stock backbone — Customer, Item, Serial No, Warehouse, Stock Entry, Sales Order, Sales Invoice, Timesheet and the Maintenance module — but it stops short of field service. There is no dispatch board that shows today's technician load, no job card that a technician completes on a phone with parts, labour hours and a customer signature, no AMC object that knows how many of its scheduled visits remain, and no concept of a van as stock that depletes as jobs are closed.
This is a proper Frappe application — its own app on the bench, its own module, installed alongside erpnext, never a pile of Custom Fields bolted onto core DocTypes. The core objects are HVAC Job Card (customer, site, equipment, fault, assigned technician, scheduled window, status workflow), HVAC Service Contract for AMCs (billing terms, covered equipment, visit entitlement, start/end dates), HVAC Contract Visit as the scheduled child occurrences generated from the contract's frequency, and HVAC Equipment — one record per installed unit, keyed to the ERPNext Serial No where you track serials, carrying make, model, tonnage, refrigerant type, commissioning date, warranty expiry and its site location. Every job card, part consumed and reading taken links back to that equipment record, so a technician standing on a roof can open one document and see everything ever done to that unit.
The mechanics are standard Frappe, which is deliberate — it means your own team can maintain it. Dispatch and status transitions run through a Frappe Workflow with role-gated actions, so a technician can move a card from Assigned to In Progress to Completed but only a Service Manager can reopen or cancel one. hooks.py doc events do the wiring: on job card submit, a Stock Entry of type Material Issue moves consumed parts out of the technician's van warehouse; billable labour hours post to a Timesheet linked to the Project or Sales Order; a completed non-contract job card assembles a Sales Invoice draft with parts at their selling rate and labour at the rate card, ready for the office to review and submit. A scheduler_events daily job generates upcoming Contract Visits from each active AMC's frequency, flags contracts inside the renewal window and creates a renewal Opportunity so nobody has to remember. Van stock is not a custom table — each service vehicle is a real ERPNext Warehouse under a Vans parent, replenished with Material Transfer from the main store, so your stock ledger, valuation and reorder levels stay correct and a van is auditable like any other location. Whitelisted methods exposed over the Frappe REST API return a technician's day, accept job card completion with parts, hours, meter readings and a signature attachment, and are permission-checked per user; client scripts keep the desk forms fast, filtering the equipment link to the selected customer's site and warning before you consume a part the van does not hold. Role profiles ship for Technician, Dispatcher, Service Manager and Accounts, with User Permissions so a technician sees only their own assignments. We target Frappe/ERPNext v15 and v16 and build against the exact version you run.
This is build-to-order, not a marketplace download. There is no instant-download button on this page, because there is no shrink-wrapped archive waiting behind it — an HVAC service business in Dubai running annual AMCs on chiller plant needs a different contract model from a residential split-unit installer in Karachi billing per call-out. You request a quotation, we run a scoping call, and we write down exactly which DocTypes, workflow states, invoicing rules and reports you are buying before anyone writes code. Typical delivery is 2–4 weeks from confirmed scope. We build on a staging copy of your site, you run UAT against your own customers and equipment, then we install on production with a tested rollback, hand over the git repository and source, train your dispatchers and technicians, and stay on support through the post-go-live window.
Runs installation projects and a service book side by side, and cannot see which AMC contracts are actually profitable once second visits and parts are counted. Wants ERPNext to be the single record of every installed unit and every rupee or dirham of service revenue, not a finance system with a WhatsApp shadow operation attached.
Owns the daily dispatch decision — who goes where, with what parts, in what order. Needs a board showing today's load and technician availability, an AMC calendar that generates visits automatically instead of living in a spreadsheet, and a first-time-fix number they can actually move.
Loses visibility the moment a filter drier, contactor or compressor leaves the main store on a van. Needs each vehicle to be a real warehouse in the stock ledger, with issues posted against job cards, correct valuation, per-van reorder levels and a monthly reconciliation that does not depend on a technician's honesty.
Will inherit and extend whatever is installed. Wants a proper app on the bench with clean DocTypes, documented hooks, no core patching, no undocumented Custom Fields, versioned source in a git repository, and an upgrade path to the next ERPNext release.
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | ERPNext 原生 |
|---|---|---|---|---|
| Fit to your HVAC workflow | Built to your scoped AMC model, fault categories and invoicing rules after a discovery call | Exactly what you specify, if your spec is right first time | The vendor's opinion of field service, take it or leave it | Generic Maintenance Schedule and Visit; no HVAC concepts at all |
| AMC contracts and renewals | `HVAC Service Contract` with visit entitlement, scheduler-generated visits and a renewal Opportunity watchdog | Achievable, but the renewal scheduler is usually the part that gets cut for time | Often a flat contract record with manual visit creation | Maintenance Schedule generates visits; no entitlement counter, no renewal alerting |
| Van and spare-part stock | Each van is a real ERPNext Warehouse; job card submit posts a Material Issue Stock Entry | Depends entirely on whether your developer models it in the stock ledger or off to the side | Frequently a custom table outside the ledger, so valuation drifts | Warehouses exist, but nothing links consumption to a field job automatically |
| Per-unit equipment history | `HVAC Equipment` record per installed unit, linked to Serial No, rolling up every job, part and reading | Buildable; the linkage back to Serial No and warranty is commonly missed | Usually asset-level only, with history scattered across visit records | Serial No holds purchase and warranty data, not field service history |
| Dispatch and scheduling | Dispatch board by technician and day with drag-to-assign and double-booking warnings | A calendar UI is the single most expensive piece to build well from scratch | Often a filtered list view rather than a real board | No dispatch concept; assignment is a ToDo on a document |
| Upgrade safety | Separate app on the bench, no core patching, targeted at v15/v16 and version-tested | Frequently ships as Custom Fields and server scripts that break on `bench update` | Depends on how actively the vendor tracks Frappe releases | Always upgrade-safe, because there is nothing extra to break |
| Cost and predictability | Fixed quotation against written scope before any code is written | Time and materials, and HVAC scope creep is the norm not the exception | Low sticker price, then paid customisation to make it fit | No licence cost; the cost is the manual work it leaves in place |
| Ownership and maintainability | Full git repository and source handover, plus technical docs on hooks, DocTypes and API methods | You own it, though documentation quality varies sharply by contractor | Vendor-controlled; some marketplace apps ship without source access | Frappe and ERPNext are open source, so core is fully yours |
No — this is build-to-order, not a marketplace download. There is no prebuilt archive behind this page. After you request a quotation we run a scoping call, agree the exact DocTypes, workflow states, invoicing rules and reports in writing, and then build. Typical delivery is 2 to 4 weeks from confirmed scope. Data migration from an existing system, unusual AMC billing structures, or a mobile front end can extend that, and we tell you before you commit, not after.
You get a defined post-go-live support window for defect fixes, with the covered scope written into the engagement — a bug in what we built is ours to fix. Because we hand over the git repository and the full source, your own team or any Frappe developer can maintain and extend it without us. Compatibility work for a future Frappe or ERPNext major version, and any new capability beyond the agreed scope, is quoted separately as a change or a follow-on engagement.
We build for Frappe and ERPNext v15 and v16, against the exact version and patch level your site runs — we ask for it during scoping. It installs as a separate app on your bench alongside `erpnext`; we do not patch core files or edit core DocTypes, which is what keeps your `bench update` path intact. It works on a self-hosted bench and on Frappe Cloud, though on Frappe Cloud a custom app has to be added to your bench group before installation.
That is a scoping decision, not a guess. ERPNext ships Maintenance Schedule and Maintenance Visit, which cover simple periodic visits well but have no dispatch board, no van stock, no per-unit equipment history and no AMC entitlement counter. We either build alongside them and leave your existing records untouched, or migrate open schedules into `HVAC Service Contract` and retire the old flow. We agree which before we write code, and if native ERPNext genuinely covers your case we will say so.
Not necessarily. The Frappe desk and the standard Frappe mobile view work for job card completion out of the box, and many teams start there. For a smoother field experience the app exposes whitelisted REST API methods — a technician day view and a completion endpoint accepting parts, labour hours, meter readings and a signature attachment — all permission-checked per user. Building a dedicated PWA or native app on top of those endpoints is a separate scoped deliverable, quoted on request.
No, and deliberately so. Each service vehicle is a real ERPNext Warehouse under a Vans parent. Replenishment is a Material Transfer from the main store; consumption is a Material Issue Stock Entry posted by a `hooks.py` doc event when a job card is submitted. That means your stock ledger, valuation, batch and serial tracking, reorder levels and stock reports all stay correct and auditable, because a van is treated exactly like any other stock location rather than a parallel bookkeeping system.
Yes. We hand over the git repository with full commit history and the complete app source for the version we build. There is no licence key phoning home, no obfuscated module and no dependency on us to keep the system running. If you later want to change how AMC visits are generated or how invoices are assembled, any competent Frappe developer can open the repository and do it.
A purpose-built ERPNext application for HVAC installation and service companies — dispatch board, job cards, AMC contracts with automated renewals, per-unit equipment service history and van spare-part stock, wired end to end from quotation to invoice. ECOSIRE scopes, builds, installs and supports it for your ERPNext v15 or v16 site.