From consumption data to invoice: automated billing for an international machine fleet
In an international platform project, consumption data from multiple data centres, diverse APIs and customer-specific machine assignments had to be unified into a reliable billing process. The result was an automated workflow from nightly data collection to invoice creation in Xero.
Albacore Technologies operated an internationally distributed machine fleet: sites in Norway, Finland, Ethiopia and Indonesia, each data centre with its own infrastructure, its own interfaces and its own quirks when it came to data access. The challenge was not simply retrieving operational data. The real challenge was structuring these heterogeneous data sources in a way that could produce a reliable, repeatable and billable process.
Before automation, consumption data had to be gathered manually from several data centres, assigned to individual machines and customers, and aggregated on a monthly basis. With a manageable number of machines that is still feasible. With a growing fleet spanning multiple customers and international sites, it quickly becomes an error-prone and time-consuming process. Critically, billing has to be not only correct, but also transparent, consistent and scalable.
The first technical step was a shared API design. Since the data centres ran different software solutions with different interfaces, an adapter layer was needed to encapsulate those differences. The goal was to connect diverse data-centre APIs, retrieve machine information in a standardised way, make consumption data comparable, and establish a unified data foundation for both operations and billing. The core principle: each data centre did not have to work in exactly the same way. But the platform had to be able to work with every data centre in a consistent way.
Scheduled services regularly fetched energy consumption data from the machines and stored it in the platform database. The critical part was the assignment logic: which machine belongs to which customer, in which data centre is it located, which consumption was recorded in which period, and which data is relevant for the monthly invoice. From raw infrastructure values, this produced usable, customer-specific billing records.
In the monthly billing run, consumption data was aggregated per customer and invoices were created automatically in Xero. The automated process covered data aggregation, invoice creation, generation of payment links, assignment to the respective customer, and the initiation of defined reminder and escalation workflows. What had previously been a manual, coordination-heavy process between operations and finance now ran in a rule-based and fully documented way.
An important component was the escalation logic for outstanding invoices. When payments were not received, defined reminder stages with clear timeframes and responsibilities were triggered. At the end of the defined escalation chain, the operation of affected machines could be paused in an automated way. This was no longer a manual, case-by-case decision, but part of a clearly documented operational workflow.
The result was a significantly simplified and largely automated invoicing process: less manual effort in monthly billing, better traceability of consumption data, clear assignment of machines, customers and sites, automated invoice creation with integrated payment and reminder processes, and better scalability as the customer base and fleet grew. What started as a technical project ultimately created a reliable operational foundation for the commercial operation of the platform.
The most important insight from this project: billing automation does not start in the accounting software. It starts with a clean data model, clear ownership, stable interfaces and a shared understanding of the process between technology, operations and finance. The real achievement was not creating invoices automatically. The real achievement was structuring operational data in a way that made a reliable commercial process possible.