CargoNode is the modular platform that starts in the warehouse and grows with you. Underneath sits an append-only movement ledger: stock levels are a consequence, never a number someone typed in.
Cloud, nothing to install · Italian compliance included · Switch modules on one at a time
The movement ledger
RECEIPTPallet, 48 cartonsDOCK-01 → A-12-3
PICKOrder 2026-1187A-12-3 → PACK-2
TRANSFERPick face replenishmentRES-04 → B-02-1
ADJUSTMENTCycle countA-07-2 · approved
A line is never rewritten: you correct it by adding another one — proposed by whoever counted, approved by whoever answers for the inventory.
Five things that never switch off
Append-only ledger
Adjustments: whoever counts cannot approve
Multi-warehouse from day one
Multi-owner in the data model
A handheld that works offline
The warehouse is not a module
It is the product
Pick waves, replenishment, carton splitting, carriers, valuation, lots and serials are not add-ons you buy separately: they are how a warehouse works. In CargoNode they are always on, in every configuration.
Movement ledger · cell A-12-3
+48PUT-AWAYfrom receiving to the shelf
−6PICKorder 2026-1187, towards packing
−2ADJUSTMENTcycle count, approved
sum of the lines
Stock in this cell
40 units
Warehouse
MAG-01
Location
A-12-3
Item
SKU-4471
Lot
L-2609
Serial
none
Owner
in-house
State
available
Three ledger lines, one stock figureThose seven dimensions identify the cell. The 40 is written nowhere: it is the sum of the movements that touch it, recomputable line by line at any time.
Every stock figure knows where it came from
Receipts, picks, transfers and adjustments are immutable events in an append-only ledger, and the stock figure is their sum: “why is this quantity what it is?” always has an answer, one event at a time. Every fifteen minutes a reconciliation recomputes stock from the ledger and, if anything drifts, reports it — instead of quietly straightening it out.
Real locations, handheld on the floor
Docks, aisles, racks, shelves. Operators work with a scanner and keep working with no network: the app queues operations and reconciles them when coverage returns, without duplicating anything.
Lots, serials and expiry dates
Traceability by lot and serial number, FEFO picking, expiry dates under control. It is Italian compliance: on in every configuration, from day one, for everyone.
Waves, replenishment, cartons split
Work gets organised instead of piling up: pick waves grouped by route, automatic min/max replenishment of pick faces, cartons and display units split into single pieces with the lot and the cost following them.
Carriers, labels and delivery notes
Carrier waybills and tracking, labels printed on the floor, delivery notes generated from the actual movement — not copied by hand from another screen.
You know what the goods you sold actually cost
Cost of goods sold comes out of the real receipt layers, first in first out: not from an average that blends January’s delivery into October’s. The statutory inventory comes out valued, and closing stock reconciles with the books.
ReceiveRECEIVINGGoods arrive and are counted against the order, or blind.
Put awayA-12-3Put-away takes them to the shelf, with a double scan.
PickPACK-2The pick moves them from the shelf to the bench.
PackPACK-2Parcels are built at the bench, item by item.
ShipDISPATCHThe outbound movement produces the delivery note.
And goods come back in three ways
ReturnsA return is an inbound movement: it lands in receiving and goes back to the shelf from there.
TransfersBetween two warehouses goods sit in a transit location with a real balance.
AdjustmentsA count variance becomes a movement only once it has been approved.
The physical cycle, and the three ways goods come back inConfirmed put-away is what makes goods pickable: the pick only sees what is genuinely on the shelf, so it never promises a unit still sitting on the dock. Receiving and shipping on the same day works fine.
There is one plan. What you buy are the modules; how many warehouses, users, orders, connectors and owners you get are limits written on your own row, not a tier you have to fit into.
Salesmodule
Accountingmodule
The warehouseAlways on, in every configuration. It is not on the price list because it is the product.
Analyticsmodule
Third-party logisticsmodule
The warehouse at the centre, the four modules around itThe four modules are switched on one at a time and off one at a time: with a module off, the rest keeps working.
Statutory obligations are active in every configuration, from a single warehouse to a third-party logistics operator: they are part of the product, and they stay off the price list.
Delivery notes (DDT) Generated from the shipping movement, with transport details.
VAT registers and settlement Sales, purchases and till receipts; periodic settlement.
Valued statutory inventory Closing stock at cost, consistent with the movement ledger.
Lot traceability From receipt to delivery, by lot and by serial number.
Electronic invoicing Valid FatturaPA XML, with the official checks applied before it leaves.
The linesORDERTaxable amounts, rates and taxes come from the document, not from a retyped form.
The XMLFatturaPABelow zero per cent the exemption code is mandatory: without it the line does not leave.
The pre-checkIN-HOUSEThe official checks that can be run without the authority, each with its own code.
FilingTWO WAYSThrough the connected provider, or by hand: both are right below.
The outcomeRECEIPTAccepted, rejected or undelivered, with the authority’s protocol number.
The fourth step has two ways — and one thing stays outside
Provider connectedThe invoice leaves with one command and receipts come back on their own, to a dedicated return address.
No providerYou download the XML and file it your way: the transmission is still recorded, with its channel and date.
Signature and archivingOutside our perimeter: the provider does them, and only for whoever connected automatic filing.
From the order line to the tax authority, and the fork halfwayWhat is ours is the freezing: the transmitted XML keeps its fingerprint, so you know which bytes left. And a refiling after a rejection is a new line, not a correction of the earlier one.
Sending to the tax authority is your call
CargoNode produces the XML and runs the official checks before it goes anywhere: a rejection shows up here, not a week later. From there it is your call: connect a transmission provider and it leaves on its own, or download the XML and send it the way you already do. Connect a provider and you get its ten-year archive — that part is its job, and it is in its contract.
Warehouse and owner are columns of the data model from day one, even for those who only have one of each. Opening a site means raising a number; starting third-party work means switching a module on. On opening day you work: the data you already have is already in the right shape.
Your configuration · the limits
WarehousesThe depots, stores or physical sites you actually runraised the day you open another one
UsersThe people who work inside the productactive ones count, not the ones never deleted
Monthly ordersThe volume that goes through the warehousemeasured on real data, not guessed
ConnectorsThe channels you link: the online store, a second store, an upstream systemone per channel
OwnersThe clients served in the same warehouseonly if you hold goods on behalf of others
A limit can also be absent: where no ceiling is needed, none is set.
Five numbers on the customer’s own rowModules say which features, limits say how many things. They are negotiated one by one and raised as you grow, with nothing to redo; lowering one below current usage, on the other hand, is refused.
Tell us how you work: we will walk you through CargoNode on your real cases and settle the right configuration together — where to start and which modules you actually need.