The purpose of this lesson is to help you manage petty cash and cash drawers.
My Recommendation
I recommend that you maintain petty cash or cash drawers as bank accounts. For each bank account, create a unique pair of Bank In Transit and Bank GL accounts. This way each bank account has its own bucket in your trial balance.
Use the payment window to accept and distribute cash from your petty cash fund or drawer. Use the Bank Statement functionality to periodically 'close' the cash drawer if needed.
Because iDempiere and ADempiere post the Business Partner to the GL, you can run a trial balance report for your Petty Cash Loan account, sum by Business Partner, and produce a by employee loan statement directly from the GL.
Demonstration
Another Alternative to the Above Demonstration
Step 1: create a Payment to your Employee's Business Partner for the amount of cash you distribute. Do not set the Payment's Charge field. Complete the Payment. This will leave the payment open for the Aging report. To understand what cash you have distributed at any given moment, simply run aging for your Employee Business Partner Group.
Step 2: when the employee returns with receipts and surplus cash, Reverse Accrue (not Reverse Correct) the Payment from step 1. This step will remove the original Payment from the Aging report and relieve the employee of his/her liability.
Step 3: create a Vendor Invoice to the vendor on the receipts. You may create as many Vendor Invoice Lines as needed to categorize each product or service purchased.
Step 4: create an AP Payment to the vendor in step 3. This step removes both the Vendor Invoice from step 3 and the Payment from step 4 from the aging report.
Notes:
Steps 2, 3 and 4 will happen almost simultaneously.
You do not need to create the Vendor Invoice in step 3 if:
You do not need an Invoice for tax (like VAT tax) or other audit reasons
You only need to code one expense (note: the Payment window only has one Charge field - Vendor Invoice lines can hold many charges)
If you want to skip step 3, you simply create the AP Payment and set the Charge field for the desired expense. Note: a Payment with a charge bypasses aging.