If it is accrual-based acocunting, it takes place when the event legal triggering the change of ownership of goods in the transaction takes place, which depends on the shipping terms, which could be anywhere from when it is available for the buyer’s transport agent to pick up at the seller’s facility (EXW) to when it is delivered, unloaded, and at the buyers door (DDP) or any of a variety of places in between (FOB Origin, FOB Destination, and a bunch of other potential shipping terms with their own rules on when ownership—and responsibility—transfer from seller to buyer.)
- incoterms (https://www.dhl.com/content/dam/dhl/global/dhl-global-forwar...)
- cash flow statement v. income statement (accurals)
FOB Shipping Point (or Origin): Responsibility transfers to the buyer as soon as the goods leave the seller's premises. You book it when it leaves your loading dock.
FOB Destination: The seller retains risk and costs until the goods reach the buyer’s location.
The sale doesn't happen until the asset transfer occurs. Before that any cash you get from the sale is balanced by the liability to actually produce the good or refund the money. Or more likely you don't get any cash but can't record the bill as accounts receivable. It's not receivable until the transfer point is crossed.