17.2 Applying, Unapplying & Reversing Customer/Vendor Entries
Key Takeaways
- Subledger application couples payments and credit memos to open invoices, liquidating balances in Customer Ledger Entries (Table 21) and Vendor Ledger Entries (Table 25) while recording granular audit trails in Detailed Ledger Entries (Tables 379/380).
- Applications can be performed prior to posting via Applies-to Doc. No. / Set Applies-to ID in journals, or post-posting directly from ledger entry lists using the Post Application action.
- Early settlement cash discounts and payment tolerances allow transactions to fully close even when small residual variances or grace periods occur, governed by General Ledger Setup thresholds.
- The Unapply Entries action (Codeunits 226/227) completely reverses posted application records, undoes associated realized currency gains/losses and cash discounts, and restores entries to open status with their full remaining amounts.
- The Reverse Transaction action posts exact offsetting entries with source code REVERSAL; it strictly prohibits reversing entries that remain applied, entries from closed fiscal years, or inventory cost postings.
17.2 Applying, Unapplying & Reversing Customer/Vendor Entries
Quick Summary: In Microsoft Dynamics 365 Business Central, subledger integrity is maintained through Ledger Application, linking payments, credit memos, and refunds to open invoices in Customer Ledger Entries (Table 21) and Vendor Ledger Entries (Table 25). The underlying accounting activity is tracked within Detailed Customer/Vendor Ledger Entries (Tables 379 and 380). When errors occur, Business Central provides two powerful corrective mechanisms: Unapply Entries, which decouples applied documents and reverses associated realized exchange gains/losses and cash discounts, and Reverse Transaction, which posts an exact mirror reversal in the General Ledger. However, Reverse Transaction imposes rigid guardrails: subledger entries must be unapplied first, and closed fiscal periods or inventory cost postings cannot be reversed.
Ledger Application Mechanics: Pre-Posting vs. Post-Posting
Application is the operational process of matching an open credit (e.g., payment or credit memo) against an open debit (e.g., invoice), reducing the Remaining Amount on both entries. When Remaining Amount reaches 0.00, Business Central marks Open = False.
Application Methods in Business Central:
1. Pre-Posting Application (Within Journal Batch)
├── Direct Application: Populate [Applies-to Doc. Type] & [Applies-to Doc. No.]
└── Multi-Entry Application: Action -> "Apply Entries" (Page 61/62)
└── Select Lines -> Action -> "Set Applies-to ID" (Applies-to ID = Doc No.)
2. Post-Posting Application (From Ledger Entry Lists)
├── Open Customer or Vendor Ledger Entries
├── Highlight unapplied Payment -> Action: "Apply Entries"
├── Highlight Invoice -> Action: "Set Applies-to ID"
└── Action: "Post Application" (Alt+F11) -> Executes Codeunit 226/227
Method 1: Pre-Posting Application (In Journals)
When preparing lines in the Cash Receipt Journal or Payment Journal, users can link documents prior to posting:
- One-to-One Match: Enter the specific invoice document type and number directly in the Applies-to Doc. Type and Applies-to Doc. No. fields on the journal line.
- One-to-Many Match: Leave
Applies-to Doc. No.blank, highlight the journal line, and select Process -> Apply Entries (Shift+F11). In the Apply Customer/Vendor Entries window (Page 61 for Customers, Page 62 for Vendors), select the target invoices and click Process -> Set Applies-to ID. The system populates the journal line'sDocument No.into theApplies-to IDfield and updatesAmount to Apply. When the journal is posted, Business Central applies the payments simultaneously.
Method 2: Post-Posting Application (From Ledger Entries)
If a payment was posted as a lump sum or without specifying an application target, both the payment and invoice remain open on the subledger. To apply them retroactively:
- Open Customer Ledger Entries (
Alt+Q-> typeCustomer Ledger Entries, Page 25) or Vendor Ledger Entries (Page 29). - Highlight the unapplied payment entry and choose Process -> Apply Entries (Page 61/62).
- On the target invoice line(s), choose Process -> Set Applies-to ID. Verify the Amount to Apply (which can be edited for partial payments).
- Choose Process -> Post Application (
Alt+F11). Business Central executesCodeunit 226 (CustEntry-Apply Posted Entries)orCodeunit 227 (VendEntry-Apply Posted Entries), immediately closing or reducing the entries without creating new General Journal lines.
The Data Architecture: Detailed Ledger Entries
Master ledger entries (Tables 21 and 25) maintain document header summaries and running balances (Original Amount, Remaining Amount, Open). However, the historical granularity of application lives in Detailed Customer Ledger Entries (Table 379) and Detailed Vendor Ledger Entries (Table 380).
Detailed Ledger Entry Transaction Hierarchy:
[Table 21: Cust. Ledger Entry No. 1001 (Invoice)]
Original Amount: $1,000 | Remaining Amount: $0.00 | Open: No
│
├──► [Table 379: Detailed Cust. Ledg. Entry 5001]
│ Entry Type: "Initial Entry" | Amount: +$1,000.00
│
└──► [Table 379: Detailed Cust. Ledg. Entry 5002]
Entry Type: "Application" | Amount: -$1,000.00 | Applied Entry No: 1002
[Table 21: Cust. Ledger Entry No. 1002 (Payment)]
Original Amount: -$1,000 | Remaining Amount: $0.00 | Open: No
│
├──► [Table 379: Detailed Cust. Ledg. Entry 5003]
│ Entry Type: "Initial Entry" | Amount: -$1,000.00
│
└──► [Table 379: Detailed Cust. Ledg. Entry 5004]
Entry Type: "Application" | Amount: +$1,000.00 | Applied Entry No: 1001
Detailed Entry Types
Every financial movement that impacts Remaining Amount appends an immutable row to Table 379/380:
- Initial Entry: The original posting of the invoice, credit memo, or payment.
- Application: The settlement link between two entries.
- Unapplied: The negation entry generated when an application is undone.
- Payment Discount / Payment Discount (VAT Excl.): Cash discounts granted during application.
- Payment Tolerance / Payment Discount Tolerance: Small write-offs within tolerance thresholds.
- Realized Gain / Realized Loss: Exchange rate differences recognized upon application.
Early Settlement Discounts & Payment Tolerances
Business Central automates prompt payment incentives and handles minor underpayments or overpayments without leaving cumbersome penny balances open.
Cash Discounts (Payment Terms)
Configured in Payment Terms (Page 4 / Table 3):
- Discount Date Calculation: Formula (e.g.,
10D) determining the Pmt. Discount Date relative to the invoiceDocument Date. - Discount %: Percentage reduction (e.g.,
2%). - General Ledger Setup Controls:
- Payment Discount Grace Period: An optional grace window (e.g.,
3D) added toPmt. Discount Date. Payments received within the grace period still qualify for the discount. - Adjust for Payment Discount: If enabled, posting a payment discount automatically adjusts output/input VAT/tax in accordance with local taxation laws.
- Payment Discount Grace Period: An optional grace window (e.g.,
Payment Tolerances
When customers underpay an invoice by a small amount (e.g., remitting $998 on a $1,000 invoice due to bank wire deductions), Payment Tolerance allows the invoice to close completely.
- General Ledger Setup Parameters:
- Payment Tolerance %: Maximum allowable percentage variance (e.g.,
1.0%). - Max. Payment Tolerance Amount: Maximum absolute currency variance (e.g.,
$5.00). - Payment Tolerance Posting: Directs where variances post:
Payment Discount Accountsor dedicatedPayment Tolerance Accounts.
- Payment Tolerance %: Maximum allowable percentage variance (e.g.,
- When applied, Business Central validates that the variance is within both percentage and maximum amount ceilings, posts the tolerance difference to the designated G/L account, and closes the invoice (
Remaining Amount = 0).
Unapplying Entries: Reversing Application Mistakes
When a payment is applied to the incorrect invoice or wrong customer account, users must unapply the transaction before it can be corrected.
Unapply Entries Execution Pipeline:
[Customer/Vendor Ledger Entries]
│ Select applied entry -> Action: "Unapply Entries" (Page 9)
▼
[Unapply Customer Entries (Page 9)]
│ Review application details, cash discounts, and exchange adjustments
▼ Action: "Unapply"
[System Postings via Codeunit 226 / 227]
├── Inserts "Unapplied" records into Detailed Cust./Vend. Ledger Entries
├── Reverses Realized Exchange Gain/Loss entries in G/L
├── Reverses Payment Discount / Tolerance entries in G/L
└── Restores Remaining Amount and sets [Open = True] on all affected entries
Ledger Consequences of Unapplying
Executing Unapply (Alt+Q -> locate entry -> Related -> History -> Applied Entries or Process -> Unapply Entries):
- Inserts corrective rows into Table 379/380 with
Entry Type = Unapplied. - Reopens both documents (
Open = True) and restores theirRemaining Amountvalues. - Reverses any Realized Currency Gain/Loss General Ledger entries posted during the original application, restoring foreign exchange balances.
- Reverses any Payment Discount or Payment Tolerance G/L postings.
- Leaves both entries in their original unapplied state, ready for reapplication to the correct invoices.
The Reverse Transaction Utility & Strict Boundaries
When an entire journal posting (such as a miskeyed general journal, bank fee, or incorrect payment journal) is wrong, Business Central provides the Reverse Transaction utility (Process -> Reverse Transaction on Page 20 General Ledger Entries, Page 372 Bank Account Ledger Entries, or via Find Entries).
Reverse Transaction Operational Flow:
[General Ledger Entries / Bank Account Ledger Entries]
│ Highlight entry -> Process -> "Reverse Transaction" (Page 179)
▼
[Reverse Transaction Entries Page]
│ Validates System Restrictions:
│ 1. Subledger entries applied? ──────► BLOCKED (Must Unapply first)
│ 2. Closed fiscal period? ──────────► BLOCKED (Period closed by year-end)
│ 3. Inventory / Cost adjustment? ───► BLOCKED (Use Credit Memo/Return)
│ 4. Reconciled in Bank Rec? ────────► BLOCKED (Already cleared)
│
▼ If all validations pass -> Action: "Reverse" or "Reverse and Print"
[Reversal Postings Generated]
├── Creates exact mirror entries with opposite signs
├── Source Code populated with "REVERSAL"
└── Sets [Reversed = Yes] on original and reversing records
The Four Non-Negotiable Restrictions on Reverse Transaction
Business Central strictly blocks Reverse Transaction if any of the following four conditions exist:
- Applied Subledger Entries: If an entry involves a Customer Ledger Entry or Vendor Ledger Entry that has been applied to another document, the reversal will fail with: "You cannot reverse... because entry %1 is applied to an entry." The user must unapply the subledger entries first.
- Closed Accounting Periods / Fiscal Years: Transactions posted into fiscal years that have been closed using the Close Income Statement routine cannot be reversed.
- Inventory & Cost Adjustments: Transactions originating from sales invoices, purchase receipts, transfer orders, or inventory cost adjustments cannot be reversed via this tool; they must be resolved using Credit Memos, Return Orders, or Item Revaluation Journals.
- Posted Bank Reconciliations: Bank Account Ledger Entries that have already been matched and closed in a posted Bank Account Reconciliation cannot be reversed.
Application vs. Unapplication vs. Transaction Reversal
| Dimension | Ledger Application | Unapply Entries | Reverse Transaction |
|---|---|---|---|
| Core Objective | Settle open balances between debit and credit documents. | Decouple mistakenly applied documents. | Negate an entire erroneous posted journal transaction. |
| Primary Objects | Table 21, 25, 379, 380 (Page 61/62). | Page 9 (Codeunit 226 / 227). | Page 179 / Table 179 (Reversal Entry). |
| G/L Entry Impact | Posts discounts, tolerances, and realized gains/losses. | Reverses discounts, tolerances, and realized gains/losses. | Creates exact offsetting mirror G/L and bank entries. |
| Entry Status Impact | Changes Open from Yes to No. | Changes Open from No to Yes. | Marks Reversed = Yes on original and new entries. |
| Prerequisite | Unapplied open entries must exist. | Entries must be currently applied. | Subledger entries must NOT be applied. |
Step-by-Step UI Execution Workflows
Workflow A: Retroactively Applying an Unapplied Customer Payment
- Press
Alt+Q, typeCustomer Ledger Entries, and select Page 25. - Filter for Customer
10000and locate an unapplied Payment (Remaining Amountequals negative total). - In the action bar, choose Process -> Apply Entries (Page 61).
- Highlight the first target Invoice and select Process -> Set Applies-to ID.
- Highlight a second target Invoice and select Process -> Set Applies-to ID. Notice that
Amount to Applyautomatically balances against the payment total. - In the action bar, click Process -> Post Application (
Alt+F11). - Confirm the prompt: "The application was successfully posted." Verify that
Remaining Amountis now0.00andOpen = Noon both the payment and the invoices.
Workflow B: Unapplying a Erroneous Application and Reversing the Payment
- On the Customer Ledger Entries page, highlight the erroneously applied Payment.
- Click Related -> History -> Applied Entries (Page 63) or select Process -> Unapply Entries (Page 9).
- On the Unapply Customer Entries page, click Unapply.
- Confirm the confirmation message: "To unapply these entries, correcting entries will be posted. Do you want to unapply the entries?" Click Yes.
- Return to Customer Ledger Entries; verify that the Payment and Invoice are now
Open = Yes. - With the unapplied Payment highlighted, click Process -> Reverse Transaction (Page 179).
- In the reversal entry overview, verify the reversing lines and click Reverse.
- Confirm the reversal prompt. Business Central posts offsetting entries with source code
REVERSALand marksReversed = Yes.
Common Configuration Pitfalls & Exam Traps
- Pitfall 1: Attempting Reverse Transaction on Applied Entries. Users frequently attempt to execute Reverse Transaction directly on an incorrect customer or vendor payment. If the payment is applied to an invoice, Business Central aborts with a validation error. The user must always execute Unapply Entries first.
- Pitfall 2: Expecting Reverse Transaction on Posted Sales Invoices. Reversing posted sales or purchase invoices cannot be accomplished via Reverse Transaction. The tool is restricted to general journals, bank entries, and subledger journals. Invoices must be corrected via Credit Memos or Cancel/Correct invoice actions.
- Pitfall 3: Overlooking Foreign Currency Reversal upon Unapply. When unapplying multi-currency entries, administrators often wonder what happened to the realized currency gain or loss. Business Central automatically reverses the realized gain/loss G/L entries during the unapply routine, ensuring currency ledgers return to an exact historical baseline.
- Pitfall 4: Payment Tolerance Exceeded. If an incoming customer payment deviates by more than the configured Payment Tolerance % or Max Tolerance Amount in General Ledger Setup, the system will not close the invoice; it leaves the residual amount open unless manually written off.
An AR clerk mistakenly applied a $2,000 customer payment to Invoice 1040 instead of Invoice 1085, which also triggered an automatic cash discount and a realized foreign currency exchange gain. The clerk must rectify the error so that both invoices and the payment reflect their true balances. What occurs when the clerk executes the Unapply Entries action from the Detailed Customer Ledger Entries?
A finance user attempts to reverse an erroneous general journal entry using the Reverse Transaction action on the General Ledger Entries page. The system halts the operation and displays an error message stating that the transaction cannot be reversed. Which of the following explains why Business Central blocks the transaction reversal?
A company configures a Payment Discount Grace Period of 3 days and a Payment Tolerance of 1% with a maximum amount of $5.00 in General Ledger Setup. An invoice for $1,000 with terms '2/10 Net 30' is issued on June 1. The customer pays $978 on June 12. How does Business Central evaluate the cash discount and invoice settlement upon posting?