Go to file
2025-12-05 19:38:25 +07:00
__pycache__ change the flow of advance payment, now creating advance payment only from purchase order form 2025-12-03 13:53:46 +07:00
data change the flow of advance payment, now creating advance payment only from purchase order form 2025-12-03 13:53:46 +07:00
models fix some journal movement 2025-12-05 19:38:25 +07:00
security change the flow of advance payment, now creating advance payment only from purchase order form 2025-12-03 13:53:46 +07:00
views change the flow of advance payment, now creating advance payment only from purchase order form 2025-12-03 13:53:46 +07:00
wizard fix some journal movement 2025-12-05 19:38:25 +07:00
__init__.py change the flow of advance payment, now creating advance payment only from purchase order form 2025-12-03 13:53:46 +07:00
__manifest__.py change the flow of advance payment, now creating advance payment only from purchase order form 2025-12-03 13:53:46 +07:00
README.md change the flow of advance payment, now creating advance payment only from purchase order form 2025-12-03 13:53:46 +07:00

Purchase Advance Payment

This module allows creating advance payments directly from purchase orders. When an advance payment is created, a deposit line is automatically added to the PO. The journal entry uses the expense account from the default advance payment product and the outstanding payment account from the selected cash/bank journal.

Features

  • Create advance payments directly from Purchase Order form
  • Automatic deposit line creation in PO
  • Proper accounting entries using:
    • Expense account from default advance payment product
    • Outstanding payment account from selected journal
  • Payment remains in draft state for review before posting
  • View all advance payments linked to a PO
  • Deposit line automatically updates when payment is posted

Configuration

  1. Set Default Advance Payment Product

    • Go to Purchase > Configuration > Settings
    • Scroll to Advance Payment section
    • Set the Default Deposit Product - this product's expense account will be used for advance payment journal entries
  2. Configure Outstanding Payment Accounts (Choose one option)

    Option A: Journal-Specific (for multiple banks)

    • Go to Accounting > Configuration > Journals
    • Open each journal > Outgoing Payments tab
    • Set Outstanding Payments Account in payment methods

    Option B: Company Default (for single bank)

    • Go to Accounting > Configuration > Settings
    • Set Outstanding Payments Account in Default Accounts section

    Note: Journal-specific accounts take priority over company default.

Usage

Creating an Advance Payment

  1. Open a Purchase Order (must be in confirmed state)
  2. Go to Advance Payments tab
  3. Click Create Advance Payment button
  4. Fill in the wizard:
    • Journal: Select cash or bank journal
    • Amount: Enter advance payment amount
    • Date: Payment date
    • Memo: Optional description
  5. Click Confirm
  6. The payment is created in draft state for review
  7. A deposit line is automatically added to the PO with negative amount
  8. Review the payment and click Confirm to post it

Journal Entry Accounts

When the payment is posted, the journal entry will use:

  • Debit: Expense account from the default advance payment product
  • Credit: Outstanding payment account from the selected journal

Vendor Bill Creation

When creating a vendor bill from the PO:

  1. The deposit line will be included in the bill
  2. The deposit reduces the total amount payable
  3. The advance payment is properly accounted for

Technical Details

  • Module creates a deposit product line in the PO with negative price
  • Payment model is extended to handle advance payment accounting
  • Journal entries are customized to use correct accounts
  • Deposit line updates automatically when payment is posted

Known Issues

  • None