Short answer: Accounting in a building materials business breaks in three places: delivery to job sites, credit given to builders, and the open-air yard. An ERP such as Odoo ties every delivery to a document, every credit sale to a credit limit, and every bag and pallet to a unit of measure, so "missing" stock and unpaid debts show up as numbers.
Building materials trade is one of Uzbekistan's fast-growing markets. According to the Statistics Agency, construction work worth 247.3 trillion soums was completed in January–October 2025, up 14.7% year on year (stat.uz, 2025). In the first eight months of 2024, large enterprises produced more than 10.5 million tons of cement, up 32.4% (stat.uz, 2024). More volume brings more chaos: a truck never reaches the site, a builder promises to "pay later", and the year-end stock count shows a shortage. This article explains how to set up building materials inventory and sales accounting. Accounting for a construction company (a contractor) is a different topic, covered in ERP for construction companies.
Where does a building materials business lose money?
Building materials trade means delivering heavy, bulky goods from a yard to job sites, often on credit. The loss points we see most often in projects:
- Delivery: the truck left, the customer says "not everything arrived", and there is no signed document.
- Units of measure: cement arrives in bags and sells by the ton; tiles sell by the square meter but arrive in boxes and pallets; a wrong conversion corrupts stock.
- Credit: the builder promises to pay after handover, and the debt lives in the sales rep's notebook.
- Open yard: bricks, rebar and sand sit outside, and breakage and theft are never written off.
- Price: steel and cement prices move fast, and a batch sold at the old price eats the margin.
Bags, tons, square meters and pallets: how should units be handled?
Unit of measure conversion means the system automatically converts between purchase, storage and sales units. For example, cement may be stocked in 50 kg bags while a wholesale customer orders in tons: 1 ton = 20 bags. Tiles sell by the square meter but come in boxes (say, 1 box = 1.44 m²), so the system rounds a customer's 30 m² up to 21 boxes and shows the surplus.
In Odoo you set this up as follows:
- Each product gets its own base, purchase and sales unit.
- Packaging is defined: 1 pallet = 40 bags, or 1 pallet = 500 bricks.
- Weight and volume are recorded, so truck load can be calculated per order in advance.
- Tiles and paint are tracked by lot (shade, caliber), because tiles from different lots on one site show a color difference.
How do you control deliveries to job sites?
In building materials, delivery is part of the service and a large cost line. Without a system, drivers pick their own routes, and empty runs and waiting time are invisible.
In the system, delivery works like this:
- The sales order holds the site address, date and time window.
- The warehouse groups orders by truck and day and checks the load by weight.
- The driver opens the delivery document on a mobile device and adds the customer's signature or a photo.
- If only part is delivered, the rest automatically becomes a backorder.
- The cost of each trip (fuel, driver) is linked to the order, so the real cost of delivery is visible.
Route planning pays off. UPS expected its ORION route optimization system, once fully deployed, to cut 100 million miles of driving and save 10 million gallons of fuel a year (UPS, 2015). The scale is huge, but the logic holds for a small fleet: planned routes mean fewer empty runs. More on this in Odoo ERP for logistics.
How should you manage credit to builders?
A credit limit is the maximum value of goods a customer can take without paying, and the system checks it on every order. It is hard to sell building materials without credit: contractors get paid by their clients, who pay in stages.
The problem is not credit itself but credit without control. Atradius's 2024 US survey found that half of all B2B invoices are overdue and bad debts average 8% of B2B credit sales (Atradius, 2024). For example, if you sell 5 billion soums of goods on credit a year and that average applies, 400 million soums never come back (an illustrative calculation; the volume is an assumption).
In Odoo, credit is controlled like this:
- Each customer gets a credit limit and payment terms (for example, 15 or 30 days).
- If the limit is exceeded or a payment is overdue, a new order needs manager approval.
- Receivables are shown by age (0–30, 31–60, 60+ days).
- Customers get automatic reminders and account statements.
Where does "missing" stock in the yard come from?
A building materials warehouse is often an open yard: bricks, blocks, rebar, sand and gravel. Shortages come from three sources: breakage and moisture, theft, and accounting errors (wrong unit, goods leaving without a document). The US National Retail Federation reported that average retail shrink was 1.6% in fiscal 2022, with total losses of $112.1 billion (NRF, 2023). In an uncontrolled open yard, the figure can be higher.
Record errors matter too. In an ECR Retail Loss study, around 60% of retail inventory records contained errors, and correcting them lifted sales by 4–8% (ECR Retail Loss, via RGIS).
In the system, shortages are handled like this:
- The yard is split into zones (A1, A2...), and each item is tracked in its own location.
- Breakage and damaged goods are written off with a separate scrap document and a reason.
- Instead of one big annual count, fast-moving items are partially counted every week (cycle counting).
- Nothing leaves without a document: a truck without paperwork does not pass the gate.
Practical steps are in our warehouse accounting guide.
What changes after automation: in numbers
- Shrink: average retail shrink was 1.6% in fiscal 2022; zoned storage and document-only dispatch make that loss visible (NRF, 2023).
- Stock accuracy: correcting inaccurate records raised sales by 4–8% (ECR Retail Loss, via RGIS).
- Credit: where half of invoices are overdue, credit limits reduce the risk of bad debt (8% of credit sales on average) (Atradius, 2024).
- Delivery: route optimization was projected to save UPS 100 million miles and 10 million gallons of fuel a year (UPS, 2015).
- Overall return: ERP returns $7.23 for every dollar spent on average (Nucleus Research, 2014).
How does Deep Vision approach this?
Deep Vision is an official Odoo Gold Partner based in Tashkent. Odoo's partner page lists 7 certified experts on our team and 24 client references, mostly in wholesale, retail and manufacturing, plus construction and logistics, with 89% customer retention. One of our public cases is RockBeton, which you can see in our portfolio.
In our experience with this kind of business, a rollout for building materials traders usually runs like this:
- Product catalog and units of measure: bag, ton, m², m³, pallet.
- Sales, Inventory and delivery go-live: typically 6–8 weeks in a standard case.
- Credit limits, payment terms and receivables reports.
- E-invoices through Didox and, where needed, Asl Belgisi, using our ready-made modules.
The Deep Vision team translated Odoo into Uzbek, so storekeepers and drivers work in their own language. If you also run a retail store, it can be connected through Odoo POS for retail.
If you want us to look at your processes, fill in a short brief or read about our Odoo implementation service.
Frequently asked questions
What software does a building materials store need?
An ERP that keeps sales, inventory, delivery and credit in one database. Odoo covers this with Sales, Inventory and Accounting, and has a POS app for the retail counter.
Can we buy cement by the bag and sell it by the ton?
Yes. Odoo sets purchase, storage and sales units separately and converts automatically.
How can we limit sales on credit?
Give each customer a credit limit and payment terms. If the limit is exceeded or a payment is overdue, new orders need manager approval.
How do we track stock in an open yard?
Split the yard into zones, treat each zone as a separate location, and count fast-moving items regularly.
How long does implementation take?
Standard Sales and Inventory often go live in 6–8 weeks; a full project usually takes 2–6 months.
Sources
- Statistics Agency of Uzbekistan: construction work, January–October 2025
- Statistics Agency of Uzbekistan: cement output up 32.4% (2024)
- NRF: Shrink accounted for over $112 billion in industry losses in 2022
- ECR Retail Loss inventory accuracy study (RGIS summary)
- Atradius: B2B payment practices trends, United States 2024
- UPS: routing optimization to reduce 100 million miles (2015)
- Nucleus Research: ERP returns $7.23 for every dollar spent (2014)
To bring order to your building materials business, leave a brief or call +998 77 093 00 07.