Waste management software: costs, RENTRI, threshold
Matteo Migliore

Matteo Migliore is an entrepreneur and software architect with over 27 years of experience developing .NET-based solutions and evolving enterprise-grade application architectures.

He has led enterprise projects, trained hundreds of developers, and helped companies of all sizes simplify complexity by turning software into profit for their business.

The finance and administration manager of an electroplating and metal finishing company in the province of Brescia, eighty-five employees across two sites, does the same thing every Friday afternoon. She opens the weighbridge tickets, the photos of the waste identification forms the driver has sent her on WhatsApp, and the spreadsheet where the shop floor supervisor marks the full skips, and she types everything again into the environmental consultant's program. Then, at the end of the month, she compares the disposal contractor's invoices with the weights she wrote down herself. They almost never match, and she almost never has the time to work out why. If you are looking for waste management software, in this article you will find a way to understand what you really need, how much it costs you today not to have it and how much it will give back, with a number instead of a feeling.

You will find what has changed with RENTRI and the digital waste identification form, translated into dates and data to keep; the real cost of waste handled between the consultant, paper and invoices; the single number that tells you whether software will save you money or just give you a tidier register; the rule for temporary storage before collection, written in code; the point where money leaks between the weight at departure and the weight at destination; the real price bands between the free RENTRI services, a subscription product and a custom system; and the threshold beyond which the maths changes.

I have been writing software since 1999, and I have almost always come across waste sideways: designing a production management system that needed to know how much scrap came off each line, a warehouse system that had to tell material for rework apart from material to throw away, an integration between a weighbridge and an ERP. Every time I found the same thing. The waste data was born on the factory floor, in a system the company already had, and was then typed again by hand two or three times before it reached the register. Every manual step was a possible error and an hour lost.

What I have learnt, and what explains why so many companies buy waste software and a year later work as hard as before, is this: the number that decides is not how many forms you issue, it is how many of your waste movements start from data typed again by hand instead of from an event already recorded in a system you have. A perfect register filled in by copying weighbridge tickets is a tidy register. It is not a register that costs less, and it tells you nothing about how to spend less on disposal.

What waste management software is, and what it is not

For a company that produces waste, waste management software is the system that holds together three things which today, in most small and medium-sized businesses, live in different places. The first is compliance: the chronological waste loading and unloading register, the waste identification form that travels with every shipment, the transmission of data to RENTRI and the annual declaration. The second is the physical facts: how much waste left which department, in which container, with which code, when it was weighed and when it left. The third is money: how much you paid for each collection, at what price per tonne, on what weight, and how much you earned from scrap and materials that have a value.

If you have the first and lack the other two, you have a digital register. It is an obligation, and it is a step forward from the paper register stamped by the chamber of commerce. But the register looks at the law, not at the business: it tells you that you loaded two thousand four hundred kilos of sludge on 12 March, it does not tell you which tank it came from, why it went up by thirty per cent compared with the year before, or whether the collection invoice matches the real weight. And it is the second and third pieces of information that drive the cost.

Register, form and management: three things everyone calls waste software

Under the same label the market sells three different tools, and confusing them is the most common way to buy the wrong one. The electronic register keeps the loading and unloading entries with the European Waste Catalogue (EWC) codes, the hazardous properties, the quantities and the dates. It answers the question "am I compliant with record keeping", which, during an inspection by the environmental police, is no small thing.

The form manager adds transport: it fills in the waste identification form with the details of producer, carrier and consignee, collects the signatures, tracks the return copy that proves arrival at destination and, since 2026, does it in digital format through RENTRI. It answers the question "did this load arrive where it should", and it is the part that the vast majority of products on the market do well.

The management system adds the link with the factory and with accounting: it takes the data where it is born, that is from the weighbridge, the production line and the warehouse, and from there generates the entry without anyone typing it again; it compares the weight at departure with the weight at destination and with the invoice; it assigns every kilo to a department, an operation or a job. It answers the question "how much does the waste from this line cost me, and why", which is the question that matters. It is also the only one of the three that makes you spend less, instead of just making you get things wrong less often.

Who buys waste management software, and why it matters to know

People looking for waste management software almost always belong to one of two worlds, and the two worlds have opposite needs. The first is the producer: the manufacturer, the laboratory, the workshop, the construction firm, for whom waste is a by-product of the real work and a cost to keep low. The second is whoever handles waste for a living: the carrier listed in the national register of environmental operators, the broker, the recovery or disposal plant, for whom waste is the product, and the software is the management system for the whole business.

This article speaks mainly to the first, because it is the most frequent case and the one where people get it wrong most often, but I devote a section to the second towards the end. The distinction changes everything: for the producer a product with a piece of integration is almost always enough; for those who handle waste for a living a product often feels tight, because their process is their competitive advantage.

What has changed with RENTRI, translated into dates and data

The RENTRI timeline for companies that produce waste, from registrations staggered by number of employees between December 2024 and February 2026 to the new register and form templates, up to the digital waste identification form becoming mandatory from February 2026

RENTRI is Italy's national electronic waste tracking register, run by the Ministry of the Environment with the support of the national register of environmental operators. The regulation that makes it operational is Ministerial Decree 59 of 2023, and it has changed three things that concern anyone producing special waste: who has to register, how the register and the form are kept, and where the data ends up.

Who registers, and when. Registration was staggered by size. Companies with more than fifty employees producing hazardous special waste, together with those who transport, recover, dispose of or broker waste, registered between December 2024 and February 2025. Those with eleven to fifty employees between June and August 2025. The rest, up to ten employees, between December 2025 and February 2026. Today, at the end of 2026, the transition period is over for everyone: anyone who falls within the obligations and is not registered is not late, they are non-compliant.

How the register and the form are kept. Since February 2025 the new templates of the chronological waste loading and unloading register and of the form have applied, with fields that differ from the old ones, and the form is validated virtually through the portal. For registered operators the register is kept in digital format. Since February 2026 the form has been digital for those who are registered: it is issued, signed and closed through the system, no longer on four paper copies that travel with the lorry and come back by post.

Where the data ends up. The register data is transmitted to RENTRI at the intervals set by the regulation, and the digital form already lives there. This is the change that matters most for software: the ministry has published interoperability services, that is programming interfaces through which a management system can transmit entries and handle forms without going through the web portal, authenticating with a digital certificate issued in the operator's reserved area. For those with few movements there are also free support services on the portal, enough to keep the register by hand.

What it means in practice, in data to keep

If you translate the regulation into a data structure, for each site you need five things. The master data of the waste you produce: EWC code, description, physical state, hazardous properties for hazardous waste, and the classification analysis with its date. The loading entries, that is when a waste is produced and put into storage, with quantity and date. The unloading entries, that is when it leaves, linked to the form. The forms, with carrier, consignee, number plate, weight at departure, weight at destination and status. And the authorisations of carriers and plants, because handing waste to someone not authorised for that code is the producer's responsibility.

None of these five things is difficult. The trouble is that, in the companies I see, the first lives on the environmental consultant's computer, the second in the shop floor supervisor's spreadsheet or in his memory, the third and fourth between the weighbridge, the driver's photos and the portal, and the fifth in a folder of PDFs downloaded three years ago and never checked. RENTRI did not create this fragmentation, it just made it more visible, because now every delay and every inconsistency leaves a trace in a public system.

The real bill: what waste handled between consultant, paper and invoices costs you today

The five items that cost an 85-employee electroplating company every year when it handles waste between the consultant, the weighbridge and invoices, from the hours spent retyping data to weights invoiced and never checked, urgent collections and scrap that nobody assigns to a department

Before talking about software it pays to work out what it costs not to have it, because that is the figure you will compare every quote against. I will do it on the reference company, the electroplating one: eighty-five employees, two sites, twenty-six different waste codes, about six hundred and forty tonnes a year, of which one hundred and eighty hazardous, between treatment sludge, spent solutions, oils and emulsions. It pays about one hundred and ninety thousand euros a year for disposal and transport, and earns something from metal scrap. In the year we analysed it had four hundred and ten loading entries, two hundred and thirty unloading entries and two hundred and thirty forms: eight hundred and seventy movements, to count them with a single word.

Five items carry the weight. None, taken on its own, is dramatic. Put together they make a number that almost always surprises whoever sees it for the first time.

Time spent retyping and checking. Each movement, between finding the data, typing it again, correcting the wrong code, filling in the form, chasing the signature and checking the closure, cost on average twenty minutes of internal work, plus the time of whoever on the shop floor notes down the skips. That is about three hundred hours a year, or twelve thousand euros at company cost, to which you add the seven thousand five hundred euros a year of the environmental consultant who kept the register. Total: about nineteen thousand euros. It is the item everyone knows, and it is the least interesting.

Weights invoiced and never checked. The disposal contractor invoices on the weight verified at destination, and the weight of sludge at destination is almost always different from the one at departure: water that separates, weighings with an estimated tare, rounding. Across the two hundred and thirty departures, seventy-one differences were above two per cent, almost all against the company, and none had ever been challenged because nobody put the weighbridge figure next to the invoice figure. Estimated conservatively, they were worth about nine thousand euros a year.

Temporary storage run by eye. Temporary storage before collection has precise rules, which we will see further on, and those who do not calculate them protect themselves in two ways, both expensive. They call the collection early, with skips half empty, for fear of missing the deadline: eighteen collections a year with the container under half full, at about three hundred and eighty euros of transport each, thrown away. Or they notice late and call an urgent collection, which costs more: fourteen times, at a surcharge of about four hundred and fifty euros. Total: about thirteen thousand euros.

Classification out of caution. When the analysis of a waste is old, or nobody remembers which process generated it, the easy choice is to classify it as hazardous and pay for it as such. In the reference company about forty tonnes a year of a waste with a mirror code were disposed of as hazardous without a recent analysis to justify it. The price difference was about one hundred and eighty euros per tonne: seven thousand two hundred euros a year, minus the cost of the analyses, which is a few hundred euros.

Scrap that nobody assigns. This is the biggest item, and almost nobody counts it. Treatment sludge depends on how much metal the tanks lose in rinsing, spent solutions on how often the baths are renewed, scrap on how many parts are reworked. But if waste is recorded only when it goes out of the gate, all together, nobody knows which line produced it. In the first year in which the company assigned waste to its lines, two targeted interventions on a single line cut sludge by seven per cent: about thirteen thousand euros a year, repeatable.

The total comes to about sixty-one thousand euros a year, out of one hundred and ninety thousand of disposal: almost a third. Without counting the penalties, which for incomplete record keeping start at two thousand euros for non-hazardous waste and rise to ten thousand for hazardous waste, and without counting the real risk, which is handing waste to a carrier whose authorisation no longer covers that code. If your company looks like this one, even just in proportion, you already have the figure against which to measure any proposal.

And note one thing: only the first item, nineteen thousand euros out of sixty-one, is the one an electronic register solves. The other four depend on the link between the waste data, the factory and the money. That is why the number that decides is not how many forms you issue.

The share of retyped movements: the number that decides

The four thresholds for the share of waste movements recorded by retyping data by hand instead of receiving it from a system, with what each threshold says about the return on waste management software

The number I use to understand whether waste management software will really save you money is the share of retyped movements: out of a hundred loading entries, unloading entries and forms, how many were written by copying by hand data that already existed elsewhere, in a system or on a piece of paper, instead of arriving from that system on their own.

I prefer it to any other indicator for three reasons. It is calculated with data you already have, because last year's register and the weighbridge tickets exist. It does not depend on company size: a workshop with fifty movements a year and a plant with five thousand are read on the same scale. And above all it measures the right thing, because every retyped figure is at once a cost in time, a possible error and a piece of information cut off from its origin: the kilo of sludge retyped from the weighbridge ticket no longer knows which tank it came from.

The thresholds I use, built on the projects of recent years, are these.

Below twenty per cent. The data is already born in systems, and the register is almost a by-product. This happens in companies whose weighbridge is connected to the management system, or in those with little, very regular waste. Software gives you order and brings you into line with the RENTRI format, but it will not give you much else back: buy the cheapest product that covers your codes.

Between twenty and sixty per cent. The problem is the process, not the software. Usually some movements already go through a system and others do not, out of habit: the department that marks the skips on a sheet, the site that sends everything by email, the on-call collections nobody records until the form arrives. Before buying anything, it pays to decide who records what, and when.

Above sixty per cent. The data is born outside the systems, or it is born inside them and never leaves. This is the case where the link between the factory and the register pays for itself, because it removes the first cost item and makes the other four possible. No product, however good, will take you below this threshold if the data keeps being retyped inside it.

Never measured. It is the most common case, and there is nothing to be ashamed of. You need last year's register, the weighbridge tickets or the transport documents, and half a day to understand where each movement came from.

In the reference company the share was eighty-three per cent: seven hundred and twenty-two movements out of eight hundred and seventy had been retyped. The most instructive detail was another one. For sixty-one per cent of those retyped movements the data already existed, identical, in the weighbridge program the company had been using for eight years. Someone printed it, someone else copied it out.

How to calculate it, with the data you have

If the register and the weighings sit in a database, or you can import them into one, the calculation is a query. The one below is written for SQL Server and assumes two simple tables: the register movements, with a field that says where the data came from, and the weighbridge weighings. As well as the share, it counts how many retyped movements had a matching weighing, that is how much retyping could be removed straight away with a connection.

-- Share of movements retyped by hand, per site, over the last year
-- and how many of them already had a matching weighing
WITH Movimenti AS (
    SELECT m.Id,
           m.UnitaLocale,
           m.Tipo,              -- 'Carico' (loading), 'Scarico' (unloading), 'Formulario' (form)
           m.DataMovimento,
           m.CodiceEer,
           m.QuantitaKg,
           m.Origine            -- 'Pesa' (weighbridge), 'Produzione' (production), 'Magazzino' (warehouse), 'Manuale' (manual)
    FROM dbo.RegistroMovimenti AS m
    WHERE m.DataMovimento >= DATEADD(YEAR, -1, CAST(GETDATE() AS date))
),
Ribattuti AS (
    SELECT mv.*,
           CASE WHEN EXISTS (
                SELECT 1
                FROM dbo.Pesate AS p
                WHERE p.UnitaLocale = mv.UnitaLocale
                  AND p.CodiceEer = mv.CodiceEer
                  AND p.DataPesata BETWEEN DATEADD(DAY, -1, mv.DataMovimento)
                                       AND DATEADD(DAY, 1, mv.DataMovimento)
                  AND ABS(p.NettoKg - mv.QuantitaKg) <= 0.02 * mv.QuantitaKg
           ) THEN 1 ELSE 0 END AS HaPesata
    FROM Movimenti AS mv
    WHERE mv.Origine = 'Manuale'
)
SELECT t.UnitaLocale,
       COUNT(*) AS Movimenti,
       SUM(CASE WHEN t.Origine = 'Manuale' THEN 1 ELSE 0 END) AS Ribattuti,
       CAST(100.0 * SUM(CASE WHEN t.Origine = 'Manuale' THEN 1 ELSE 0 END)
            / NULLIF(COUNT(*), 0) AS decimal(5, 1)) AS QuotaRibattutiPct,
       (SELECT COUNT(*) FROM Ribattuti AS r
        WHERE r.UnitaLocale = t.UnitaLocale AND r.HaPesata = 1) AS RibattutiConPesata
FROM Movimenti AS t
GROUP BY t.UnitaLocale
ORDER BY QuotaRibattutiPct DESC;

If the field that records where the data came from does not exist, and that is the norm, you rebuild it by hand on a sample: take two months of the register, for each row ask whoever wrote it where they took it from, and note the answer. It is three hours of work, and the answer is almost always uglier than the company expects.

Next to the share, look at a second number, which tells you what the other items are worth: the share of unloadings without a department of origin. If more than half the kilos going out of the gate cannot be traced back to a line, an operation or a job, the scrap nobody assigns is almost certainly your biggest cost item, and no register, however compliant, will show it to you.

Temporary storage: the rule that decides when to call the carrier

The two alternative rules for temporary storage before collection, the time-based one with dispatch at least every three months and the quantity-based one with a limit of thirty cubic metres, of which ten hazardous, and a maximum duration of one year, with the right moment to call the collection

Temporary storage before collection is the place where waste waits, at the site where it was produced, to be picked up. Italy's Environmental Code (Legislative Decree 152 of 2006), in article 185 bis, allows it without an authorisation provided it follows one of two rules, chosen by the producer. The time-based rule: waste is sent for recovery or disposal at least every three months, whatever the quantity. The quantity-based rule: it is sent when it reaches thirty cubic metres in total, of which no more than ten of hazardous waste, and in any case within a year even if the limit is not reached.

Put like that it sounds simple. In practice it is where wrong collections pile up, because nobody does the calculation continuously. Whoever handles the waste looks at the skips, not at the loading dates, and with twenty-six codes across two sites the question "which one expires first" has no answer at a glance. You end up calling the collection when a skip looks full, or when someone remembers that a lot of time has gone by.

Well-built waste management software turns the question around: it does not tell you when storage has expired, it tells you the best day to call the collection, that is as late as possible to fill the containers, but early enough to avoid the urgent surcharge. It is a small calculation, and it fits in a few lines of code.

// What is the best day to call the collection for a temporary storage area?
// Article 185 bis rules: time-based (at least every three months) or
// quantity-based (30 m3 of which at most 10 hazardous, and in any case within a year).
public enum CriterioDeposito { Temporale, Quantitativo }

public sealed record Carico(string CodiceEer, bool Pericoloso, DateOnly Data, decimal VolumeM3);

public sealed record Proposta(DateOnly ChiamaEntro, string Motivo);

public static class DepositoTemporaneo
{
    const decimal LimiteTotaleM3 = 30m;
    const decimal LimitePericolosiM3 = 10m;

    public static Proposta? ProssimoRitiro(
        CriterioDeposito criterio,
        IReadOnlyCollection<Carico> caricatiNonScaricati,
        decimal m3AlGiornoStimati,
        decimal m3PericolosiAlGiornoStimati,
        int giorniPreavvisoTrasportatore,
        DateOnly oggi)
    {
        if (caricatiNonScaricati.Count == 0) return null;

        var primoCarico = caricatiNonScaricati.Min(c => c.Data);

        if (criterio == CriterioDeposito.Temporale)
        {
            var scadenza = primoCarico.AddMonths(3);
            return new Proposta(scadenza.AddDays(-giorniPreavvisoTrasportatore),
                $"time-based rule: the oldest load is from {primoCarico:dd/MM}");
        }

        // Quantity-based rule: the first of total limit, hazardous limit and one year.
        var totale = caricatiNonScaricati.Sum(c => c.VolumeM3);
        var pericolosi = caricatiNonScaricati.Where(c => c.Pericoloso).Sum(c => c.VolumeM3);

        var candidati = new List<(DateOnly Giorno, string Motivo)>
        {
            (primoCarico.AddYears(1), "one year from the oldest load")
        };
        if (m3AlGiornoStimati > 0)
            candidati.Add((oggi.AddDays(GiorniAlLimite(LimiteTotaleM3 - totale, m3AlGiornoStimati)),
                "30 cubic metres in total"));
        if (m3PericolosiAlGiornoStimati > 0)
            candidati.Add((oggi.AddDays(GiorniAlLimite(LimitePericolosiM3 - pericolosi, m3PericolosiAlGiornoStimati)),
                "10 cubic metres of hazardous waste"));

        var primo = candidati.MinBy(c => c.Giorno);
        return new Proposta(primo.Giorno.AddDays(-giorniPreavvisoTrasportatore), primo.Motivo);
    }

    static int GiorniAlLimite(decimal residuoM3, decimal m3AlGiorno) =>
        residuoM3 <= 0 ? 0 : (int)Math.Floor(residuoM3 / m3AlGiorno);
}

Two details of this code are worth more than the code itself. The first is the carrier's notice period: the day to show is not the deadline, it is the deadline minus the days your carrier needs to organise the collection without a surcharge, which are usually between three and seven. The second is the estimate of daily production: for the quantity-based rule you need to know how much waste you produce each day, and production knows that number, not the register. It is the first point where waste software needs to talk to the factory.

In the reference company, showing every Monday morning the list of storage areas with the best day to call, sorted by date, cut half-load collections from eighteen to four and urgent collections from fourteen to two in the first year. No sophisticated algorithm was needed: it was enough for the calculation to exist and for someone to see it at the right moment.

Choosing between the two rules is not a matter of paperwork

Many companies choose the time-based rule because it is easier to explain, and then pay for quarterly collections of half-empty containers. Others choose the quantity-based one and then do not measure volumes, which makes it dangerous. The right choice depends on two numbers the software should give you: how many cubic metres you produce every three months for each group of waste, and how much a collection costs compared with filling the container. If in three months you fill less than half a skip, the quantity-based rule saves you money, provided you measure. If you fill it in three weeks, the choice makes no difference and all that matters is calling in time.

Weight at destination and the invoice: where money leaks without anyone noticing

Every form has two weights. The weight at departure is declared by you, and it is often an estimate: the "full" twenty cubic metre skip is written down by eye, or weighed on the company weighbridge with a tare nobody has updated for years. The weight at destination is verified by the plant, on its own weighbridge, and it is the one your invoice is based on. There is almost always a difference between the two, and the difference has a precise direction: for wet waste, such as sludge, the water that separates during the journey should make the weight go down, not up.

The difference on its own is not a problem. It becomes one when nobody looks at it. In the reference company the seventy-one departures with a difference above two per cent were almost all in the same direction and almost all at the same plant. There was nothing unlawful: a lorry tare set wrongly on the plant's weighbridge, left like that for months. One phone call, with the table of weighings in hand, was enough to get a credit note and the tare corrected. But to make that call you needed the table, and the table did not exist, because the departure weights were in the weighbridge, the destination weights in the form and the prices in the invoice.

The three-way match that purchasing does, applied to waste

Anyone who works in purchasing knows the three-way match: the order, the delivery note and the invoice must say the same thing before you pay. The same principle applies to waste, with three different documents: the weighing at departure, the weight at destination on the closed form and the invoice line from the disposal contractor, with the contract price per tonne. Waste management software that puts these three figures on the same row, and flags in red the rows where the difference exceeds the tolerance, pays on its own for the part of the system that does it. I have written about it more generally, for all suppliers, in supplier management software: the disposal service is a purchase like any other, it is just that almost nobody treats it that way.

The same check applies to waste that has a value. Metal scrap, aluminium and brass swarf, and sorted packaging are sold by weight, at a price that follows market quotations. If you do not know how many kilos left and at what quotation, the buyer sets the price. In the reference company, separating brass swarf from mixed swarf, decided after seeing the figures by line, was worth a few thousand euros a year in price difference on its own.

From waste to department: the data that makes you spend less

The flow of waste management software connected to the factory: the data is born on the production line and at the weighbridge, becomes a loading entry with the department of origin, then a digital waste identification form and a transmission to RENTRI, and is finally compared with the weight at destination and the disposal contractor's invoice

The register asks you to record waste when it is produced, with code and quantity. It does not ask which department it comes from, and in fact almost nobody writes it down. Yet it is exactly that piece of information that turns waste from a fixed cost into a cost you can control, because the waste of a factory is not all the same: it depends on an operation, a machine, a habit. As long as you only see it all together, at the gate, you can only negotiate the price of the collection. When you see it by line, you can reduce it.

The flow I propose to producing companies has five steps, and each one removes a round of retyping.

The data is born where the waste is born. The container has a label with a code, and the container is linked to a department and to a waste code. When the shop floor supervisor declares it full, he does so from the system he already uses: the production terminal, the warehouse handheld, a simple screen on a tablet. If production already has a management system, the waste can even be calculated: the kilos of offcuts from a job, the litres of bath renewed according to the maintenance plan. I talked about it in production management software, where scrap per line is one of the numbers a production system should give you anyway.

The weighbridge closes the data. When the container goes over the weighbridge, the weighing is attached to the container, and the net weight becomes the quantity in the loading entry, without anyone copying it out. Modern weighbridges export their data, and almost all the old ones have at least a file or a serial printer to read it from. It is the most profitable connection in the whole project: in the reference company it removed sixty-one per cent of the retyping on its own.

The register writes itself. From the loading entry, with code, quantity and date, the system generates the register row in the required format and transmits it to RENTRI through the interoperability services, or passes it to the product that keeps the register for you. Whoever handles the waste no longer writes, they check: they look at the rows the system could not complete and fix them.

The form starts from the scheduled collection. When the system proposes the collection, as we saw for temporary storage, it also prepares the digital waste identification form with the data it already knows: producer, outgoing waste, carrier and consignee chosen among those with a valid authorisation for those codes. At the weighbridge the weight is added, and the form is ready for signatures.

The loop closes with the invoice. When the form closes with the weight at destination, and the invoice arrives, the system puts them next to the weighing and the contract price. Rows outside tolerance go to whoever pays the invoices, before they pay them. And the cost of each collection is split across the departments that produced that waste, in proportion to the kilos: it is the figure management control needs to know how much an operation really costs, and I have written about it in management control software.

Carrier authorisations: the check nobody does

There is one check that deserves a paragraph of its own, because it concerns liability rather than money. A producer who hands waste to a carrier or a plant not authorised for that code is liable together with them. Listings in the national register of environmental operators and plant authorisations have expiry dates and a list of permitted codes, and they change. In almost all the companies I see, those authorisations are PDFs downloaded when the first contract was signed and never opened again.

The software should hold, for each carrier and plant, the expiry date and the list of authorised codes, and refuse to prepare a form for a code that is not covered or with an expired authorisation. It is the same principle as the check at the moment work is assigned, which I wrote about in workplace safety software: a warning at the end of the month protects nobody, a check at the moment of the decision does. And if supplier authorisations and documents are scattered across inboxes and shared folders, the issue is wider than waste, and I tackle it in document management software.

How much waste management software costs: RENTRI services, a product or custom

Cumulative five-year cost of a subscription product with data retyped by hand and of the same product connected to the weighbridge and the management system with a custom piece, as waste movements per year grow, with the point where the two lines cross at around eight hundred movements

There are four routes, and they have very different price bands. The figures that follow are the ones I see in 2026 on the Italian market for a producing company; for those who handle waste for a living the picture is different, and I cover it in the next section.

The RENTRI support services. The portal gives operators, at no cost beyond registration fees, tools to keep the register and handle digital forms by hand. They are enough for those with a few dozen movements a year and few codes. The real cost is time: every figure is written by hand, and the system knows nothing about your factory.

The environmental consultant with their own program. It is the most common route among small and medium-sized businesses: an external firm keeps the register, prepares the annual declaration, carries out the classification analyses and warns you of deadlines. It costs between one thousand five hundred and eight thousand euros a year depending on volumes and services. The consultant is valuable for the regulatory side, and remains so even after software arrives. The limit is that the data travels to them by email and photos, and comes back only as compliance.

A subscription product. The waste management systems on the market, almost all now connected to RENTRI, cost a producer between five hundred and three thousand euros a year per site, depending on the modules, plus a setup fee of between one thousand and four thousand euros to configure codes, containers and master data. They do the register, forms, deadlines and declaration well. They almost never read your weighbridge or your production management system on their own, and they almost never split costs across departments.

A custom system, or a custom piece. For a producer, a complete custom-built system rarely pays off: the market does the regulatory part well, and rebuilding it means chasing every change to the regulation. What almost always pays off instead is the piece that connects: it reads the weighbridge, the production management system and the warehouse, generates the entries, prepares the forms, compares weights and invoices, assigns costs to departments and passes the data to the product or straight to RENTRI. It costs between fifteen and thirty thousand euros depending on how many sources it connects, plus fifteen or twenty per cent a year for maintenance.

The threshold, with numbers

The calculation I do with clients compares two routes on their five-year cost: the subscription product with data retyped by hand, and the same product with the custom piece that connects it to the factory. With twenty minutes of work per retyped movement against four for a movement that arrives already filled in and only needs checking, and with an hourly cost of forty euros, the two lines cross at around eight hundred movements a year. The reference company, with eight hundred and seventy, was just above the threshold.

But that calculation only accounts for time, that is the first of the five items. If you add checked weights, avoided half-load collections and scrap assigned to departments, which do not grow with movements but with the value of disposal, the threshold drops considerably: with more than one hundred thousand euros a year of disposal the connecting piece almost always pays for itself in less than two years, even with a few hundred movements. Below thirty thousand euros of disposal and two hundred movements, on the other hand, it almost always pays to stop at the product or the consultant, and I say so knowing it does not suit those who sell custom software.

The route I recommend in the vast majority of cases is therefore mixed: the product or the consultant for the regulatory part, a custom piece for the connection with weighbridge, production and invoices. You will find the reasons why this route almost always works better than either of the pure ones on the page about custom business software.

The questions to ask whoever offers you a product

Before signing a subscription, ask five questions and ask to see the answer in a demo, not on a slide. Whether the product reads your weighbridge data, and in what format. Whether it exposes programming interfaces to receive entries from another system, because without them the connecting piece cannot be built. Whether it handles several sites with a single login. Whether it compares the weight at destination with the weight at departure and flags the differences. And whether it lets you export all your data, at any time, in a readable format: the register is yours, and it must stay yours even if one day you change supplier.

If you handle other people's waste: carriers, brokers, plants

For those who handle waste for a living, software is not a compliance tool, it is the management system of the business. A carrier has to plan rounds, assign vehicles and drivers with the right qualifications, handle the forms of dozens of different producers and invoice each one according to their contract. A plant has to manage acceptance, incoming analyses, weighings, storage by code and the limits of its own authorisation, that is how much material of each code it can hold and treat. A broker has to match supply and demand between producers and plants, with everyone's authorisations.

Here the reasoning is reversed. Vertical products exist, and for a small business with a standard process they are the right choice. But the more the business grows, the more its process becomes its advantage: how it plans rounds, how it prices services, how it manages customers. And a product built for the average carrier struggles to follow a process that is not average. The custom systems for this world that I see cost between sixty and one hundred and fifty thousand euros, depending on the modules and integrations, and they are justified when the product forces people to work around it with spreadsheets and double entry.

The transport side has a lot in common with that of any other logistics business, from route planning to controlling empty kilometres, and I have written about it in transport management software. The difference, for waste, lies in the constraints: every load has a code, every code has a list of vehicles and plants that can accept it, and the digital form has to follow the load in real time.

Where to start: the first release in ninety days

Whether you choose a product, a custom piece or both, the order in which things are done matters more than the choice. What follows is the plan I use for a producing company, and it fits into ninety days.

The first two weeks: measurement. You take the last year's register and calculate the share of retyped movements, the share of unloadings without a department of origin and the difference between departure weights, destination weights and invoices. You list the real containers, with the department that uses them and the code they hold, which almost never matches what is written in the consultant's master data. It costs little and decides everything else.

From the third to the sixth week: master data and the weighbridge. You sort out the waste master data, with the classification analyses and their dates, and that of carriers and plants with their authorisations and codes. You connect the weighbridge, which is the piece with the fastest return. By the end of this phase, every weighing becomes an entry with no retyping.

From the seventh to the tenth week: storage and forms. You switch on the calculation of the best day to call the collection, with the Monday morning list, and the preparation of forms from the scheduled collection. This is the phase where the work of whoever handles the waste changes: they stop writing and start deciding.

The last three weeks: invoices and departments. You switch on the comparison between weights and invoices and the split of costs across departments. Here you do not measure time saved, you measure money: the first credit note, and the first line with a waste cost nobody had ever seen.

The link with actual production, that is waste calculated from the job instead of declared by the department, comes later, once the rest works. If the warehouse is involved, because scrap passes through it or because material for rework gets mixed up with material for disposal, it is worth looking at how it is organised too, and I talk about it in warehouse management software.

If the number says it is not your problem

It may be that, once you have measured, the share of retyped movements is low, the weights match and the waste is small and regular. That is good news, and it is worth saying clearly: in that case waste management software will not give you much money back. It will give you order, a register in line with the RENTRI format and less anxiety during inspections. These things are worth something, but they are worth the price of a subscription or a consultant, not of a custom project.

In that case the bottleneck, if there is one, is almost always elsewhere. If waste is the symptom of scrap and rework that are too high, the problem is process quality, and it is worth looking at with quality tools, which I talk about in quality management software: non-conformities, causes and corrective actions. If the most expensive waste is oils, emulsions and spare parts coming out of maintenance, the starting point is the maintenance plan, and I have written about it in maintenance management software.

And there is one case in which software is not the answer even when the numbers are ugly: when the waste is wrongly classified. If a waste is disposed of as hazardous out of caution, or with a code that does not match the process that generates it, no system will correct it: you need a laboratory analysis and a technician who knows how to read it. It costs a few hundred euros per code, and it is almost always the investment with the fastest return in the whole waste chapter.

If you have read this far, you probably have in mind the finance and administration manager's Friday afternoon, with the weighbridge tickets on one side and the consultant's program on the other. Before looking at any demo, take two months of the register and ask yourself, row by row, where that figure came from: it is three hours of work, it costs nothing, and it tells you whether you are buying a tidier register or a lower cost. From there on, decisions are much simpler, and you make them yourself instead of leaving them to the invoices at the end of the month.

Frequently asked questions

It depends on the road. The RENTRI support services are free beyond registration fees and are enough for a few dozen movements a year. An environmental consultant with their own software costs between one thousand five hundred and eight thousand euros a year depending on volumes. A subscription product costs a waste producer between five hundred and three thousand euros a year per site, plus a setup between one and four thousand euros. The custom piece that connects the weighbridge, production, warehouse and invoices to the product or directly to RENTRI costs between fifteen and thirty thousand euros, plus fifteen to twenty per cent a year of maintenance. For companies that handle waste as their business, a complete custom system sits between sixty and one hundred and fifty thousand euros.

You compute the share of retyped movements: out of every hundred loading entries, unloading entries and waste forms, how many were written by copying by hand a figure that already existed elsewhere, in the weighbridge, in the production system or on a department sheet. Under twenty per cent the data is already born in your systems and a product is enough, between twenty and sixty the problem is the process, over sixty the link between the plant and the register pays for itself. Alongside that, measure the share of outgoing waste with no department of origin: if it is over half, the waste nobody attributes is almost certainly your largest cost.

RENTRI, Italy's national electronic waste tracking register made operational by Ministerial Decree 59 of 2023, changed three things. Registration, staggered by company size between December 2024 and February 2026 and now mandatory for everyone concerned. The loading and unloading register and waste form templates, new since February 2025, with the register kept in digital form by registered operators. And the digital waste form, mandatory for registered operators since February 2026, issued, signed and closed through the system. For software, what matters most is that the ministry published interoperability services, which let a business system transmit data without going through the portal.

Article 185 bis of Italy's Environmental Code allows waste to be kept where it is produced, before collection, following one of two rules chosen by the producer. Under the time rule, waste is sent for recovery or disposal at least every three months, whatever the quantity. Under the quantity rule, it is sent when it reaches thirty cubic metres in total, of which at most ten hazardous, and in any case within one year. Good software does not flag the deadline, it shows the best day to call the collection, meaning the deadline minus the carrier's notice period.

Because the departure weight is often an estimate or a weighing with an outdated tare, while the destination weight is checked by the plant on its own weighbridge, and it is the one the invoice is based on. For wet waste such as sludge, water separating during transport should make the weight go down, not up. The difference alone is not a problem; it becomes one when nobody looks at it. The remedy is a three way match: departure weighing, destination weight on the waste form and the invoice line with the contract price on the same row, with differences beyond tolerance flagged before paying.

For a company that produces waste, almost always the product or the consultant for the regulatory part, and a custom piece for the link with the weighbridge, production and invoices. Counting time alone, the connecting piece pays for itself above about eight hundred movements a year; adding checked weights, avoided collections and waste attributed to departments, it almost always pays above one hundred thousand euros a year of disposal costs. Below thirty thousand euros of disposal and two hundred movements, stop at the product. For carriers, brokers and treatment plants the reasoning flips: the process is the competitive advantage, and a custom system is justified when the product forces you to work around it with spreadsheets and double entry.

Leave your details in the form below

Matteo Migliore

Matteo Migliore is an entrepreneur and software architect with over 27 years of experience developing .NET-based solutions and evolving enterprise-grade application architectures.

Throughout his career, he has worked with organizations such as Cotonella, Il Sole 24 Ore, FIAT and NATO, leading teams in developing scalable platforms and modernizing complex legacy ecosystems.

He has trained hundreds of developers and supported companies of all sizes in turning software into a competitive advantage, reducing technical debt and achieving measurable business results.

Stai leggendo perché vuoi smettere di rattoppare software fragile.Scopri il metodo per progettare sistemi che reggono nel tempo.