Profit and cash in the account are different numbers
A profit report shows what the shop earned. A payment calendar shows whether there is money in a given week. The two diverge for three reasons that are plain in online trade.
- Goods are bought before they are sold. For a promotion, the purchase is paid weeks before buyers pay.
- Money arrives late. A card prepayment comes in quickly, cash on delivery only after the parcel is received. On its cash-on-delivery page Nova Poshta says the sender collects the money at a branch the day after the recipient has received the parcel; to a NovaPay card it is credited within 30 minutes. But days pass between dispatch and receipt.
- Obligatory payments come in lumps. Payroll, rent and taxes fall in particular weeks, and one such week can eat what was gathered over a month.
The practical result: a profitable month can contain a week with a negative balance. It is visible only in a week-by-week calendar, not in a monthly report.
Inputs of the hypothetical shop
All numbers are hypothetical. Put in your own.
- Sales: UAH 100,000 a week, with a promotion in weeks 7 and 8 at UAH 160,000 each.
- Payment method: 40% of orders are prepaid by card (acquiring fee 1.5%, received in the week of the order); 60% are cash on delivery.
- Cash on delivery: money arrives a week after dispatch. 15% of cash-on-delivery orders are refused (no money for them). The cash-on-delivery fee is 4% of the amount: under Nova Poshta's tariff for payment other than a NovaPay card it is 2% + UAH 20, which on an average basket of UAH 1,000 is 4% (the service page checked on 21.10.2026).
- Purchases: 55% of sales, paid two weeks before the sale.
- Advertising: 12% of sales of the same week. Delivery and packaging paid by the shop: 4%.
- Obligatory payments: UAH 60,000 (payroll and rent) in weeks 4, 8 and 13; taxes of UAH 25,000 in weeks 6 and 10. Take exact tax dates from the taxpayer's calendar, see the calendar in the article on the FOP limit.
- Opening balance: UAH 30,000. The previous week's cash on delivery (UAH 48,960) is already on its way.
A 13-week model
For each week we calculate receipts (this week's prepayments plus last week's cash on delivery) minus payments (purchases for sales two weeks later, advertising, delivery, obligatory payments). The balance is the previous balance plus receipts minus payments.
| Week | Receipts, UAH | Payments, UAH | Balance, UAH | Next week's obligatory, UAH | Rule |
|---|---|---|---|---|---|
| 1 | 88,360 | 71,000 | 47,360 | 0 | ok |
| 2 | 88,360 | 71,000 | 64,720 | 0 | ok |
| 3 | 88,360 | 71,000 | 82,080 | 60,000 | ok |
| 4 | 88,360 | 131,000 | 39,440 | 0 | ok |
| 5 | 88,360 | 104,000 | 23,800 | 25,000 | gap |
| 6 | 88,360 | 129,000 | −16,840 | 0 | gap |
| 7 | 112,000 | 80,600 | 14,560 | 60,000 | gap |
| 8 | 141,376 | 140,600 | 15,336 | 0 | ok |
| 9 | 117,736 | 71,000 | 62,072 | 25,000 | ok |
| 10 | 88,360 | 96,000 | 54,432 | 0 | ok |
| 11 | 88,360 | 71,000 | 71,792 | 0 | ok |
| 12 | 88,360 | 71,000 | 89,152 | 60,000 | ok |
| 13 | 88,360 | 131,000 | 46,512 | 0 | ok |
Over 13 weeks UAH 1,254,712 comes in and UAH 1,238,200 goes out, and the balance grows from UAH 30,000 to UAH 46,512. The business is in the black. But in week 6 the balance is −UAH 16,840: purchases for the promotion (UAH 88,000 a week instead of 55,000) were paid in weeks 5 and 6, while receipts from the promotion start only in week 7. That gap is visible already from week 1 of the forecast, five weeks ahead.
The minimum-balance rule
The check is simple and has two parts. For each week:
- the end-of-week balance is not below zero;
- the balance is not less than the obligatory payments due the following week (payroll, rent, taxes), because they cannot be postponed until revenue arrives.
In our table the rule is broken in weeks 5, 6 and 7. In week 5 the balance is UAH 23,800 and taxes of UAH 25,000 fall next week. In week 7 the balance is UAH 14,560 and a payment of UAH 60,000 falls in week 8. Week 8 itself is formally 'ok' at UAH 15,336, because payroll has already been paid. This is our planning rule, not a legal norm: you set the threshold for payroll and taxes yourself, and any reserve above it depends on how far you trust the sales forecast.
The rule does not catch a wrong sales forecast. If actual sales come in lower, recalculate the model every week, not once a quarter.
What closes the gap and what it costs
How much money must be added at the start for the rule to hold in every week depends on the scenario. We calculated six, changing one parameter at a time:
| Scenario | Lowest balance | Weeks where the rule is broken | To add at the start | Balance in week 13 |
|---|---|---|---|---|
| Base: promotion 160,000, purchase paid 2 weeks ahead | −16,840 (week 6) | 5, 6, 7 | 45,440 | 46,512 |
| Supplier paid 1 week before the sale | 14,560 (week 7) | 7 | 45,440 | 46,512 |
| Supplier paid in the week of the sale | 15,336 (week 8) | 7 | 12,440 | 46,512 |
| Promotion 130,000 instead of 160,000 | 16,160 (week 6) | 7 | 19,460 | 36,096 |
| Promotion 130,000 and payment in the sale week | 19,608 (week 8) | 7 | 2,960 | 36,096 |
| No promotion (100,000 every week) | 23,880 (week 8) | none | 0 | 25,680 |
Hypothetical shop: sales of UAH 100,000 a week, a promotion in weeks 7–8; prepayment 40%, cash on delivery 60% with 15% refusals and a 4% fee; purchases 55%. Calculation recomputed in code on 21.10.2026.
Three conclusions follow from the table.
Paying the supplier one week earlier changes almost nothing. The lowest balance moved from week 6 to week 7, but the requirement at the end of week 7 (the UAH 60,000 payment) stayed the same, so the sum needed did not change. Only a deferral to the week of the sale helps: the required cushion falls from UAH 45,440 to UAH 12,440.
A promotion is paid for from the cushion. It adds UAH 20,832 of balance in week 13 (46,512 versus 25,680 without it) but demands UAH 45,440 that was not there at the start. A promotion cut to 130,000 adds UAH 10,416 and needs UAH 19,460.
The cheapest fix is to agree on terms, not to borrow. A smaller promotion plus payment in the sale week closes the gap almost entirely (UAH 2,960 needed). The cost of the cushion when you have to borrow it is not in the table: it depends on your rate.
A spreadsheet template with formulas
Create a sheet with 13 rows (weeks) and these columns. Put the parameters (shares and percentages) in separate cells above the table and refer to them; below they are shown as numbers for clarity.
| Column | What it holds | Formula for row 2 (the first week) |
|---|---|---|
| A | Week number | 1, 2, 3 … |
| B | Sales for the week | enter the forecast |
| C | Prepayment received | =B2*0.4*(1-0.015) |
| D | Cash on delivery received (for last week) | =B1*0.6*(1-0.15)*(1-0.04); for the first row enter the amount in transit |
| E | Purchases (for sales 2 weeks later) | =B4*0.55 |
| F | Advertising and delivery | =B2*(0.12+0.04) |
| G | Obligatory payments of the week | enter from the calendar |
| H | End-of-week balance | =opening balance+C2+D2-E2-F2-G2; then =H2+C3+D3-E3-F3-G3 |
| I | Rule check | =IF(H2>=MAX(0,G3),"ok","gap") |
For the last two weeks column E refers to sales outside the table: add two more forecast rows below or enter the purchase by hand. Conditional formatting of column I ('gap' in red) makes the problem weeks visible.
A first step for a week
- List obligatory payments for 13 weeks: payroll, rent, taxes, supplier instalments. Take tax dates from the taxpayer's calendar.
- For each source of money find the real lag: in the contract with your payment service, with Nova Poshta under your contract, with the marketplace.
- Fill the sheet with current sales and no promotions.
- Add the nearest promotion or purchase and look at the 'gap' column.
- Update the sheet every Monday: replace the forecast with the actual for the past week.
Our position
A shop planning a promotion or a large purchase should build a 13-week calendar before it and test the rule 'balance not less than next week's obligatory payments'. The best way to close a gap is to change payment terms, not to enlarge a loan.
The position does not hold if sales are so unpredictable that a weekly forecast is meaningless (a very small turnover or one-off orders), or if revenue arrives so slowly that the lag exceeds a week. Then a longer model is needed. The model also does not show whether a promotion is affordable on margin: that is a different task, see the calculation in the article on unit economics of an online shop. All sums are hypothetical; put in your own sales, refusals and terms.
The terms of Nova Poshta cash on delivery (fees of 1% + UAH 10 and 2% + UAH 20, crediting to a NovaPay card within 30 minutes, collection at a branch the day after the recipient receives the parcel) were checked on 21 October 2026 on the service page. The arithmetic was recalculated in code. This article is not tax advice.
