It's the same with expenses. They can be paid all at once or over time. And they can be prepaid or paid in advance. So if you are sitting on a lot of cash and pay all your vendors upfront, but your customers are paying you over time, you can't just look at the cash at the end of each month to determine whether you are making a profit. And it gets even hairier when you consider that businesses can borrow money and have to pay only the interest for a while and then have to pay back the principal (the original amount borrowed) all at once. Or a company may sign a contract obligating it to provide services or warranties over several years.
How can a business know whether it is making money or not?