Generally speaking you can't really do this in Project, mainly because it's
not a cash accounting application and won't replace your regular accounting
software. It's not tracking the dates you make your cash expenditures,
instead it's tracking the the distribution of your obligation to pay them
over the duration of the project and in the vast majority of cases you
become obligated to pay as the work is done on the task, even for fixed
costs. Project doesn't know or care when you actually cut the cheques
because it's not tracking your expenditures or cash flow, it's tracking your
cost accrual and that's not the same thing. You might have to pay for
something in advance, for example, but until you use it up in the task that
requires it, (theoretically) you can return it and get your money back. You
haven't really spent the money until you can no longer get it back.
Similarly, if your fixed cost is a night in a hotel room, you have spent the
money when you sleep in the room even if you don't actually move the cash
out of your bank account until after the credit card bill arrives. Your
labour cost is "spent" as the resource does the work - you may or not pay
him as you go but your obligation to pay him hits your accounts as the work
progresses - you can't canel the task and cancel the pay you own him once
he's done it. You can cobble together a workaround using milestones as Dave
suggested but I've never been happy with that approach as it moves the costs
out of the tasks that actually generate them and attributes them to
"pseudo-tasks." Do that and you completely blow the accuracy of your cost
estimates, in many cases doubling them, as well as your ability to track
progress through earned value metrics.