Batch P&L the same day: forecast, then realised
How the PoultryOS poultry ERP keeps the cost and profit of every broiler batch from the day of placement, shows a forecast while the birds grow, and books the realised profit in the month of the last sale.
PoultryOS Team · Product and implementation team

In contract broiler farming, most integrators learn the profit of a batch six weeks after it has been lifted, when the last bill is in and the accountant has closed the month. By then the next batch is already in the same shed. The cost of a batch is not a mystery: chicks, feed, medicine, expenses, the growing charge. What is missing is someone adding it up every day.
In PoultryOS, a poultry ERP built around the batch, that someone is the daily entry. Every entry adds its feed at the feed rate of the batch, every bill spread over the batch adds its share, and every sale adds its revenue. This post follows two batches of the sample organisation, Shree Agro Integration, to show what the owner sees on day 23, on day 38 and on the day the farmer is paid.
It starts at placement: the planned rates
The placement wizard asks three numbers on its third step: the feed rate per kg, the planned sale rate per kg live, and the target age at sale. The defaults come from the Settings of the portal, so a branch manager placing a batch rarely types anything. The card under them shows the break-even rate and the projected margin at the standard of the breed.

Feed at ₹42 a kg and a planned sale at ₹95 against a break-even of ₹92.59. Lower the sale rate below the break-even and the margin turns red before the chicks arrive.
The feed rate prices every kilogram the supervisor enters; the planned sale rate values the birds on the farm until they are sold. The break-even uses the formula of the free break-even calculator.
Day 23: the cost so far, entry by entry
Batch BR-F08-26-008 on Thorat Farm near Saswad is the batch from the daily entry walkthrough. On day 23, the Details tab of the app shows its cost breakdown: chicks ₹1,80,000, feed ₹2,77,324, medicine and vaccine nil, expenses nil, a total cost of ₹4,57,324.

The cost of a batch on day 23. Cost per kg stays a dash until the first birds are sold.
Nobody typed that feed figure. It is the kilograms of every daily entry multiplied by the feed rate of the batch, and it grows with the next entry. The medicine cost grows with the medicines entered on the days, and the expenses with the bills spread over the batch. A bill that waits for approval, such as the travel of a supervisor’s day, counts in no cost until the owner or a manager approves it.
The batch page: profit as a forecast
On the owner portal the same batch opens with its KPI tiles, each with the standard under it: 4,871 live birds of 5,097 placed, mortality 4.34 % against a standard of 2.4 %, running FCR 1.27 against 1.28, weight 893 g against 880. Next to them sit the sales amount, nil so far, the cost per kg with the total cost of ₹4,57,324, and a tile that most software leaves out: Profit (Forecast) ~₹37,468, forecast at the sale on day 35.

Day 23 of 35. The tilde marks a forecast, never a realised figure. P&L statement, top right, saves the one-page profit and loss of the batch as a PDF.
Why a forecast and not the profit of today? Because the profit of today, the cost so far against sales of nil, shows every healthy young batch as a loss of its whole cost. The forecast answers the question an owner actually asks: if this batch goes on like the standard, what will it earn?
The rule is fixed in the core of the product, the same on the phone and the portal:
- Birds are the live birds less the standard mortality until the target age.
- Weight is the standard weight of the target age.
- Sales are those kilograms at the planned sale rate.
- Cost is the cost so far, plus the standard feed until the sale at the feed rate of the batch, plus medicines and expenses at the pace so far, plus, for a contract batch, the growing charge of its scheme on the forecast figures.
The forecast moves every day with the entries, long before anyone has sold a bird.
Day 38: past the target age, an estimate
A batch that passes its target age without being lifted is no longer forecast. Its birds are valued as they stand, at their weight and the planned sale rate, and the figure is marked Estimated. The Profit and loss register in Reports shows it beside the batches that are already sold.

Two batches with the sale month November 2026. The own batch on the left is realised; the contract batch on the right still has 4,709 birds on the farm.
Batch BR-F14-26-014 on Tambe Farm at Sinnar was placed with 7,630 chicks and is on day 38 of 35. Mortality is 4.97 % against 3.7 %, the FCR 1.63 against 1.56, the weight 1,895 g against 1,950. Its total cost is ₹13,01,442 and its profit is shown as ~₹59,424 (Estimated).
Now open the same batch in the costing report, which is the day-by-day ledger of the batch, and the top line looks very different.

The costing report counts only what has been sold: 5,236 kg against the full cost of the batch, hence ₹248.56 per kg.
Both figures are right; they answer different questions. The costing report is a record of what happened. On 3 November, day 37, 2,535 birds left the farm, 5,236 kg at an average of ₹98.00, for ₹5,13,128. Every other bird is still a cost on the farm.

Each day’s closing cost is the next day’s opening. The birds sold leave at the opening rate of the day, ₹172.39 per bird; the 4,709 that remain carry ₹8,64,438, a broiler farming cost per bird of ₹183.57.
The chain is simple to check. The opening bird cost of day 37 was ₹12,50,848, the feed of the day added ₹50,594, and the 2,535 birds sold took ₹4,37,004 with them, which leaves ₹8,64,438 on the farm. The mortality of each day is costed and shown, ₹2,069 on day 37, but not deducted: the birds that remain carry it.
The P&L register adds the one thing the ledger cannot: a value for the 4,709 birds still on the farm. At 1,895 g, they are about 8,924 kg, and the estimate values them at roughly ₹95 a kg. Add that to the ₹5,13,128 already sold, take away ₹13,01,442, and you arrive at the ₹59,424 on the card. When the rest of the birds are sold, the estimate is replaced by the realised figure.
The Finance page: the month, the year, the branch
The Finance page is where the owner reads all of it at once. Four tiles across the top: sales ₹1,65,88,614, receivables ₹17,09,896, purchase spend ₹1,44,84,956 and growing charges paid ₹7,94,667. Below them, the profit of this month, the previous month and the financial year to date, and the profit by branch for the month and the year.

This month’s ₹1,52,304 is the realised ₹92,880 of BR-OWN2-26-016 plus the estimated ₹59,424 of the Tambe batch, both with their sales in November.
Two rules keep this page honest. A batch belongs to the month of its last sale, and the financial year runs April to March. A growing batch with its forecast counts in no month and no year total, so the month on month and year on year comparisons are never padded with birds that have not left the farm.
The table under the tiles gives every batch a line: chicks, feed, other, total cost, cost per kg, sales amount, the basis (Realised or Forecast) and the profit, red for a loss. It takes the filters of the Batches page, groups by farmer or branch for totals, and exports to Excel and PDF like every table in the portals.

BR-F03-26-101 on Jadhav Farm: total cost ₹9,86,331, cost per kg ₹94.58, realised profit ₹26,827. A click on a row opens the batch.
Where the growing charge sits
For a contract batch, the growing charge is part of the cost, not a payment off to the side. The growing charge register shows the same batch, BR-F03-26-101, with 10,428 kg sold at an FCR of 1.71, a production cost of ₹86.85 per kg and a growing charge of ₹6.00 per kg, ₹64,305 in all. On the Finance table that charge sits in the ₹80,705 under Other, inside the total cost the profit is struck against.

Every statement in one register. The rate per kg moves with the FCR and the production cost, as set out in the growing charges walkthrough.
The day the farmer is paid
The batch closes in five steps that only move forward: sales complete, stock cleared, growing charge approved, farmer paid, closed. After the last one the batch is read-only and its realised profit stays in its sale month.

The closure. The growing charge paid appears under the cost of the batch on the Details tab and on the Finance page.
For the accountant who wants it on paper, the costing report prints the whole batch day by day, and the P&L statement on the batch page gives the one-page summary as a PDF.
What changes when broiler profit per batch is known the same day
A profit known six weeks late can only be explained. A profit known on day 23 can still be changed: the owner who sees a forecast fall in the third week can send the vet before the fourth, and the one who sees a batch past its target age eating ₹50,594 of feed a day can push the lifting.
None of this asks anyone to fill a costing sheet. The supervisor enters the day in the poultry farm app, the branch spreads its bills, the sales team writes the slip. The profit follows. That is the difference between poultry management software that records a batch and a poultry ERP that costs it.
Frequently asked questions
Why does a young batch not show as a loss? Because PoultryOS does not compare the cost so far with sales of zero. While a batch grows, its profit is a forecast at the sale day, at the standard weight and mortality of the breed and the planned sale rate, marked Forecast and ~.
What is the difference between Forecast and Estimated? A Forecast is for a batch still below its target age; it projects the birds, the weight and the cost to the sale day. Past the target age the birds on the farm are valued as they stand, at their weight and the planned sale rate, and the figure is marked Estimated. Once the last bird is sold the profit is Realised.
In which month does the profit of a batch count? In the month of its last sale. The financial year runs April to March. A forecast counts in no month and in no comparison, so the month on month and year on year figures are never inflated by birds that are still growing.
Is the growing charge part of the batch cost? Yes. The cost of a batch is the chicks, the feed at the feed rate of the batch, the medicines, the share of the expense bills and, for a contract batch, the growing charge. A forecast of a contract batch includes the growing charge of its scheme on the forecast figures.
Who can see the profit of a batch? The Finance page is the Owner’s. The Accounts role reads it without changing anything. The Manager and the Vet do not see it, and the Vet sees no money in the costing report either.
See your own batches this way
The quickest test is your own numbers. Book a demo and we will load a few of your recent batches into a sandbox organisation so you can see their forecast, estimate and realised profit side by side. The Contract Broiler Farming (CBF) Software module page describes the rest of the batch cycle, from placement to the farm league and the branch P&L.


