Skip to content

D - The Cash Trap ​

The ultimate business paradox: Your shoe store made a massive €170 profit this month, but you are officially broke, your website is shut down, and you can't buy lunch. How is that possible?

Today, we will discover the difference between Profit (which exists on paper) and Cash Flow (the actual cash in your bank account).

1. Expansion Plan ​

Following your success on Day 3, you decide to expand your sneaker business.

At the beginning of Month 1:

  1. You purchase 3 pairs of rare sneakers for €100 each (Total: €300).
  2. To fund this, your parents lend you another €150, combined with your €150 cash. Your initial capital is €300.
  3. You pay your monthly web shop fee of €40 to keep your store online.

You sell all 3 pairs of sneakers to a friend for €180 each (Total Sales: €540). You pay the platform shipping fee of €10 per shoe (Total: €30).

2. Profit: Paper vs. Bank ​

Your friend is short on cash and asks if they can pay you in 3 monthly installments of €180 per month (in Month 1, Month 2, and Month 3). You agree.

Let's calculate your Month 1 results:

2.1. Income Statement (Paper Profit) ​

Your business sold the goods, so you record the full sale today:

Revenue=€540(3×€180)COGS=-€300(3×-€100)Fees=-€70(-€30 shipping+-€40 Shopify)Net Profit=+€170

On paper, you made a happy €170 profit!

2.2. Cash Book (Bank Balance) ​

Now, let's track the actual cash entering and leaving your bank account in Month 1:

Starting Cash:€300Buy Inventory:-€300First Payment:+€180Fees Paid:-€70(-€30 shipping+-€40 Shopify)Ending Cash=€110

Notice the gap: Your profit is €170, but you only have €110 in the bank.
Where is the rest of the money?

It is locked in Accounts Receivable — money your customer owes you but hasn't paid yet:

Accounts Receivable=Revenue−Cash Collected=€540−€180=€360

3. Cash Trap (Month 2) ​

It is Month 2. You don't make any new sales, but you collect the second installment of €180 from your friend. Your Shopify fee of €40 is also due.

Suddenly, a new sneaker drops for €200. You know you can sell it for €350. Since your books show you made €170 profit last month, you decide to buy it.

Let's check your bank account before you make the purchase:

Starting Cash (M2):€110Collect Installment:+€180Pay Shopify Fee:-€40Spendable Cash=€250

You have €250 cash in the bank. You spend €200 to buy the new sneaker. Your cash drops to €50. You survived!

3.1. What if your friend paid slower? ​

Imagine if you agreed to a "Buy Now, Pay Later" agreement where your friend pays 100% of the €540 at the end of Month 3, and €0 in Months 1 and 2.

Let's recalculate your Month 2 cash before the purchase:

Starting Cash (M2):€-70(M1: €300 start−€300 buy−€70 fees)Collect Cash:€0Pay Shopify Fee:-€40Spendable Cash=-€110(BANKRUPT!)

Your bank balance was already negative at the end of Month 1 (-€70) and drops to -€110 in Month 2. You cannot pay your Shopify bill, your site gets shut down, and you cannot buy the €200 sneaker drop.

IMPORTANT 🤔

This is the Cash Trap. A business can be highly profitable on paper, but still go bankrupt if cash is collected too slowly to cover immediate operating bills or buy new inventory. As the old saying goes: "Profit is an opinion, but Cash is a fact."

4. Cash Flow Simulator ​

Use the interactive simulator below to test different payment terms, Shopify fees, and Month 2 expansion decisions. Watch how the cash book and profit compare month-by-month, and see if you can avoid triggering bankruptcy!

💸 Cash Flow Simulator

Experience how profitable businesses go bankrupt due to cash delays

M1Mois 1
M2Mois 2
M3Mois 3

⚙️ Business decisions

1. Shop Settings
€300
€100€500€900
€40
€0€50€100
2. Month 1 Inventory & Sales
€100
€50€150€250
3 pairs
135
€180
€80€240€400
3. Month 2 Expansion
€200
€50€175€300
1 pair
025
Month 1: The Big Launch & Sale

You purchase 3 pairs of sneakers for €100 each (Total: €300). Your starting cash is €300. You sell all pairs to a friend for €180 each (Total Sales: €540), paying €30 (€10 per shoe) in shipping fees immediately. On paper, your Month 1 net profit is +170 (after paying the 40 Shopify fee). However, you collected only €180 in cash. Your ending cash is €110, and customers still owe you €360.

📖 Cash Book (Month 1)Liquid 💧

Tracking actual money entering and leaving your bank account

Starting Cash Balance€300.00
+ Cash Collected (Inflows)+€180.00
- Cash Spent (Outflows)-€370.00
Ending Cash in Bank€110.00
⚖️ Paper Profit vs. Actual Bank Balance

Comparing cumulative profit (accounting records) with real cash in the bank

Cumulative Paper Profit€170Accrued profits on paper
Actual Cash in Bank €110Spendable money today
Accounts Receivable€360Money customer still owes you

💻 Python Script ​

Let's model these multi-month cash flows in Python. Run this script to simulate how slow collections and expansion choices cause bankruptcy checks.

You can find the companion script here: 4-cash-trap.py

python
# Day 4: The Cash Trap Simulation
# Follow-up to the sneaker business from Day 3

# Starting state
cash = 300.0
inventory = 0.0
accounts_receivable = 0.0

# Decisions
shoe_cost = 100.0
quantity = 3
selling_price = 180.0
shipping_fee = 10.0
shop_fee = 40.0              # Monthly website subscription fee
buy_more_in_month_2 = True   # Expand business in Month 2

# --- MONTH 1 ---
# 1. Buy 3 shoes
cash -= (shoe_cost * quantity)
inventory += (shoe_cost * quantity)

# 2. Sell 3 shoes immediately on 3-month installments
revenue = selling_price * quantity
cogs = shoe_cost * quantity
fees = shipping_fee * quantity
profit_m1 = revenue - cogs - fees - shop_fee

# Cash changes: collect 1st installment, pay fees and shop fee
cash_collected = revenue / 3
cash += cash_collected - fees - shop_fee
inventory = 0.0
accounts_receivable = revenue - cash_collected

print("--- Month 1 ---")
print(f"Paper Profit:      +€{profit_m1:.2f}")
print(f"Cash Collected:    +€{cash_collected:.2f}")
print(f"Shop & Shipping:   -€{fees + shop_fee:.2f}")
print(f"Ending Bank Cash:   €{cash:.2f}  <-- Less than profit + initial capital!")
print(f"Owed by Customer:   €{accounts_receivable:.2f}\n")

# --- MONTH 2 ---
# 1. Receive 2nd installment
cash_collected_m2 = revenue / 3
cash += cash_collected_m2
accounts_receivable -= cash_collected_m2

# 2. Pay monthly shop fee
cash -= shop_fee

# 3. Buy 1 new sneaker for €200 to expand
expansion_cost = 200.0
print("--- Month 2: Sneaker Drop Expansion ---")
print(f"Bank Cash before buying: €{cash:.2f}")
print(f"Cost of new sneaker:     €{expansion_cost:.2f}")

if expansion_cost > cash:
    print("🚨 CRITICAL ALERT: BANKRUPT!")
    print("You made €210 paper profit last month, but you are officially out of cash!")
    cash -= expansion_cost
    print(f"Bank Cash: €{cash:.2f} (IN THE RED!)\n")
else:
    cash -= expansion_cost
    print(f"Ending Bank Cash: €{cash:.2f}\n")

To execute this locally, run:

bash
python3 python/4-cash-trap.py