---
id: object/table/179
type: object
title: Table 179 "Reversal Entry"
summary: Table 179 "Reversal Entry" in Base Application (Microsoft.Finance.GeneralLedger.Reversal). 31 fields, 40 public procedures, 68 events. Present since at least BC23, still in BC30, changed in BC24, BC26-29.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "29"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 54149df879d6cc0004869b0559a6a25f3a0c4dfb91aa7e2c566d2ce5ae33c3b9
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Reversal/ReversalEntry.Table.al
    title: src/Layers/W1/BaseApp/Finance/GeneralLedger/Reversal/ReversalEntry.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/au
    - localization/be
    - localization/ch
    - localization/it
    - localization/nz
    - localization/ru
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10630
object_type: table
object_id: 179
name: Reversal Entry
namespace: Microsoft.Finance.GeneralLedger.Reversal
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "27"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries:
  - au
  - be
  - ch
  - it
  - nz
  - ru
ms_search_form_ids: []
counts:
  fields: 31
  procedures: 127
  events: 68
  subscribers: 0
relations:
  out: 17
  referenced_by: 0
  pages: 2
  extended_by: 0
  event_subscribers: 2
  calls: 3
  called_by: 0
  implements: 0
---

# Table 179 "Reversal Entry"

> Table 179 "Reversal Entry" in Base Application (Microsoft.Finance.GeneralLedger.Reversal). 31 fields, 40 public procedures, 68 events. Present since at least BC23, still in BC30, changed in BC24, BC26-29.

Base Application · Microsoft.Finance.GeneralLedger.Reversal · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Reversal/ReversalEntry.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Reversal Entry |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Line No. | Integer | — |  |
| 2 | Entry Type | Enum "Reversal Entry Type" | — | enum [Enum 180 "Reversal Entry Type"](../enum/180.md) |
| 3 | Entry No. | Integer | Specifies the entry number of the original ledger entry that is being reversed. | TableRelation [Table 17 "G/L Entry"](../table/17.md), [Table 21 "Cust. Ledger Entry"](../table/21.md), [Table 25 "Vendor Ledger Entry"](../table/25.md) (if ("Entry Type" = const("G/L Account")) "G/L Entry" else if ("Entry Type" = const(Customer)) "Cust. Ledger Entry" else if ("Entry Type" = const(Vendor)) "Vendor Ledger Entry" else if ("Entry Type" = const("Bank Account")) "Bank Account Ledger Entry" else if ("Entry Type" = const("Fixed Asset")) "FA...) |
| 4 | G/L Register No. | Integer | Specifies the number of the general ledger register, where the general ledger entry in this record was posted. | TableRelation [Table 45 "G/L Register"](../table/45.md) (G/L Register) |
| 5 | Source Code | Code[10] | Specifies the source code that specifies where the entry was created. | TableRelation [Table 230 "Source Code"](../table/230.md) (Source Code) |
| 6 | Journal Batch Name | Code[10] | Specifies the name of the journal batch, a personalized journal layout, that the entries were posted from. |  |
| 7 | Transaction No. | Integer | Specifies the number of the transaction that was reversed. |  |
| 8 | Source Type | Enum "Gen. Journal Source Type" | Specifies the source type that applies to the source number that is shown in the Source No. field. | enum [Enum 82 "Gen. Journal Source Type"](../enum/82.md) |
| 9 | Source No. | Code[20] | Specifies where the entry originated. | TableRelation [Table 18 "Customer"](../table/18.md), [Table 23 "Vendor"](../table/23.md), [Table 270 "Bank Account"](../table/270.md) (if ("Source Type" = const(Customer)) Customer else if ("Source Type" = const(Vendor)) Vendor else if ("Source Type" = const("Bank Account")) "Bank Account" else if ("Source Type" = const("Fixed Asset")) "Fixed Asset" else if ("Source Type" = const(Employee)) Employee) |
| 10 | Currency Code | Code[10] | Specifies the currency code for the amount on the line. | TableRelation [Table 4 "Currency"](../table/4.md) |
| 11 | Description | Text[100] | Specifies a description of the record. |  |
| 12 | Amount | Decimal | Specifies the amount on the entry to be reversed. |  |
| 13 | Debit Amount | Decimal | Specifies the total of the ledger entries that represent debits. |  |
| 14 | Credit Amount | Decimal | Specifies the total of the ledger entries that represent credits. |  |
| 15 | Amount (LCY) | Decimal | Specifies the amount of the entry in LCY. <small>via [Page 183 "Reverse Transaction Entries"](../page/183.md)</small> |  |
| 16 | Debit Amount (LCY) | Decimal | Specifies the total of the ledger entries that represent debits, expressed in LCY. <small>via [Page 183 "Reverse Transaction Entries"](../page/183.md)</small> |  |
| 17 | Credit Amount (LCY) | Decimal | Specifies the total of the ledger entries that represent credits, expressed in LCY. <small>via [Page 183 "Reverse Transaction Entries"](../page/183.md)</small> |  |
| 18 | VAT Amount | Decimal | Specifies the amount of VAT that is included in the total amount. |  |
| 19 | Posting Date | Date | Specifies the posting date for the entry. |  |
| 20 | Document Type | Enum "Gen. Journal Document Type" | Specifies the document type that the entry belongs to. | enum [Enum 6 "Gen. Journal Document Type"](../enum/6.md) |
| 21 | Document No. | Code[20] | Specifies the document number of the transaction that created the entry. |  |
| 22 | Account No. | Code[20] | Specifies the account number that the reversal was posted to. |  |
| 23 | Account Name | Text[100] | Specifies erroneous postings that you want to undo by using the Reverse function. |  |
| 25 | Bal. Account Type | Enum "Gen. Journal Account Type" | Specifies the type of account that a balancing entry is posted to, such as BANK for a cash account. | enum [Enum 81 "Gen. Journal Account Type"](../enum/81.md) |
| 26 | Bal. Account No. | Code[20] | Specifies the number of the general ledger, customer, vendor, or bank account that the balancing entry is posted to, such as a cash account for cash purchases. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 18 "Customer"](../table/18.md), [Table 23 "Vendor"](../table/23.md) (if ("Bal. Account Type" = const("G/L Account")) "G/L Account" else if ("Bal. Account Type" = const(Customer)) Customer else if ("Bal. Account Type" = const(Vendor)) Vendor else if ("Bal. Account Type" = const("Bank Account")) "Bank Account" else if ("Bal. Account Type" = const("Fixed Asset")) "Fixed...) |
| 27 | FA Posting Category | Enum "FA Ledger Posting Category" | Specifies the posting category that is used for fixed assets. | enum [Enum 5631 "FA Ledger Posting Category"](../enum/5631.md) |
| 28 | FA Posting Type | Enum "Reversal Entry FA Posting Type" | Specifies the posting type, if Account Type field contains Fixed Asset. | enum [Enum 5604 "Reversal Entry FA Posting Type"](../enum/5604.md) |
| 30 | Reversal Type | Option | — | OptionCaption: Transaction,Register |
| 31 | Source Currency Amount | Decimal | — |  |
| 32 | Source Currency VAT Amount | Decimal | — |  |
| 33 | Source Currency Code | Code[10] | — | TableRelation [Table 4 "Currency"](../table/4.md) |

## Keys

- Key1: Line No. (clustered)
- Key2: Entry Type
- Key3: Document No., Posting Date, Entry Type, Entry No.
- Key4: Entry Type, Entry No.
- Key5: Transaction No.

## Events published

- `OnAfterCaption(ReversalEntry: Record "Reversal Entry"; var NewCaption: Text)` (integration): Integration event raised after calculating the caption for a reversal entry, allowing customization of the display text.
- `OnAfterCheckEntries(var MaxPostingDate: Date; var ReversalEntry: Record "Reversal Entry")` (integration): Integration event raised after completing entry validation checks, allowing custom validation logic.
- `OnAfterCheckBankAcc(BankAccount: Record "Bank Account"; BankAccountLedgerEntry: Record "Bank Account Ledger Entry")` (integration): Integration event raised after validating bank account ledger entries for reversal eligibility.
- `OnAfterCheckGLAcc(var GLAccount: Record "G/L Account"; GLEntry: Record "G/L Entry")` (integration): Integration event raised after validating G/L account settings for reversal operations.
- `OnAfterCheckCust(Customer: Record Customer; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Integration event raised after validating customer ledger entries for reversal eligibility.
- `OnAfterCheckVend(Vendor: Record Vendor; VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Integration event raised after validating vendor ledger entries for reversal eligibility.
- `OnAfterCheckEmpl(Employee: Record Employee; EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Integration event raised after validating employee ledger entries for reversal eligibility.
- `OnAfterCheckFA(FixedAsset: Record "Fixed Asset"; FALedgerEntry: Record "FA Ledger Entry")` (integration): Integration event raised after validating fixed asset ledger entries for reversal eligibility.
- `OnAfterCheckMaintenance(FixedAsset: Record "Fixed Asset"; MaintenanceLedgerEntry: Record "Maintenance Ledger Entry")` (integration): Integration event raised after validating maintenance ledger entries for reversal eligibility.
- `OnAfterCheckVAT(var VATEntry: Record "VAT Entry")` (integration): Integration event raised after validating VAT entries for reversal eligibility.
- `OnAfterCheckDtldCustLedgEntry(DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Integration event raised after validating detailed customer ledger entries for reversal consistency.
- `OnAfterCheckDtldVendLedgEntry(DetailedVendorLedgEntry: Record "Detailed Vendor Ledg. Entry"; VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Integration event raised after validating detailed vendor ledger entries for reversal consistency.
- `OnAfterCheckDtldEmplLedgEntry(DetailedEmployeeLedgerEntry: Record "Detailed Employee Ledger Entry"; EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Integration event raised after validating detailed employee ledger entries for reversal consistency.
- `OnAfterCopyFromBankAccLedgEntry(var ReversalEntry: Record "Reversal Entry"; BankAccLedgEntry: Record "Bank Account Ledger Entry")` (integration): Integration event raised after copying field values from a bank account ledger entry to a reversal entry.
- `OnAfterCopyFromCustLedgEntry(var ReversalEntry: Record "Reversal Entry"; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Integration event raised after copying field values from a customer ledger entry to a reversal entry.
- `OnAfterCopyFromFALedgEntry(var ReversalEntry: Record "Reversal Entry"; FALedgerEntry: Record "FA Ledger Entry")` (integration): Integration event raised after copying field values from a fixed asset ledger entry to a reversal entry.
- `OnAfterCopyFromGLEntry(var ReversalEntry: Record "Reversal Entry"; GLEntry: Record "G/L Entry")` (integration): Integration event raised after copying field values from a G/L entry to a reversal entry.
- `OnAfterCopyFromMaintenanceEntry(var ReversalEntry: Record "Reversal Entry"; MaintenanceLedgerEntry: Record "Maintenance Ledger Entry")` (integration): Integration event raised after copying field values from a maintenance ledger entry to a reversal entry.
- `OnAfterCopyFromVATEntry(var ReversalEntry: Record "Reversal Entry"; VATEntry: Record "VAT Entry")` (integration): Integration event raised after copying field values from a VAT entry to a reversal entry.
- `OnAfterCopyFromVendLedgEntry(var ReversalEntry: Record "Reversal Entry"; VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Integration event raised after copying field values from a vendor ledger entry to a reversal entry.
- `OnAfterCopyFromEmplLedgEntry(var ReversalEntry: Record "Reversal Entry"; EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Integration event raised after copying field values from an employee ledger entry to a reversal entry.
- `OnAfterInsertFromBankAccLedgEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var BankAccLedgEntry: Record "Bank Account Ledger Entry")` (integration): Integration event raised after inserting a reversal entry from a bank account ledger entry.
- `OnAfterInsertFromCustLedgEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Integration event raised after inserting a reversal entry from a customer ledger entry.
- `OnAfterInsertFromEmplLedgEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var EmplLedgEntry: Record "Employee Ledger Entry")` (integration): Integration event raised after inserting a reversal entry from an employee ledger entry.
- `OnAfterInsertFromFALedgEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var FALedgerEntry: Record "FA Ledger Entry")` (integration): Integration event raised after inserting a reversal entry from a fixed asset ledger entry.
- `OnAfterInsertFromGLEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var GLEntry: Record "G/L Entry")` (integration): Integration event raised after inserting a reversal entry from a general ledger entry.
- `OnAfterInsertFromMaintenanceLedgEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var MaintenanceLedgEntry: Record "Maintenance Ledger Entry")` (integration): Integration event raised after inserting a reversal entry from a maintenance ledger entry.
- `OnAfterInsertReversalEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary)` (integration): Integration event raised after completing the insertion of a reversal entry record.
- `OnAfterInsertFromVATEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var VATEntry: Record "VAT Entry")` (integration): Integration event raised after inserting a reversal entry from a VAT entry.
- `OnAfterInsertFromVendLedgEntry(var TempRevertTransactionNo: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var VendLedgEntry: Record "Vendor Ledger Entry")` (integration): Integration event raised after inserting a reversal entry from a vendor ledger entry.
- `OnAfterReverseEntries(Number: Integer; RevType: Integer; HideDialog: Boolean)` (integration): Integration event raised after completing the reversal of entries for a transaction or register.
- `OnAfterSetReverseFilter(Number: Integer; RevType: Option Transaction,Register; GLRegister: Record "G/L Register"; var ReversalEntry: Record "Reversal Entry")` (integration): Integration event raised after setting filters for reversal entries based on transaction or register.
- `OnBeforeCheckEntries(ReversalEntry: Record "Reversal Entry"; TableID: Integer; var SkipCheck: Boolean)` (integration): Integration event raised before performing entry validation checks for reversal.
- `OnBeforeCheckEmpl(var EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Integration event raised before validating employee ledger entries for reversal.
- `OnBeforeCheckFA(var FALedgerEntry: Record "FA Ledger Entry"; var IsHandled: Boolean)` (integration): Integration event raised before validating fixed asset ledger entries for reversal.
- `OnBeforeCheckFAPostingDate(FAPostingDate: Date; Caption: Text[50]; EntryNo: Integer; var IsHandled: Boolean; var ReversalEntry: Record "Reversal Entry"; var MaxPostingDate: Date; var AllowPostingFrom: Date; var AllowPostingto: Date; var xReversalEntry: Record "Reversal Entry")` (integration): Integration event raised before validating fixed asset posting date for reversal.
- `OnBeforeCheckMaintenance(var MaintenanceLedgerEntry: Record "Maintenance Ledger Entry")` (integration): Integration event raised before validating maintenance ledger entries for reversal.
- `OnBeforeCheckGLAcc(var GLEntry: Record "G/L Entry")` (integration): Integration event raised before validating G/L account settings for reversal.
- `OnBeforeCheckGLEntry(var ReversalEntry: Record "Reversal Entry"; GLEntry: Record "G/L Entry"; var IsHandled: Boolean)` (integration): Integration event raised before validating G/L entry for reversal.
  - subscribers: [Codeunit 6908 "Expense Event Subscriber"](../codeunit/6908.md) OnBeforeCheckGLEntryReversalEntryEvent
- `OnBeforeCheckRegister(RegisterNo: Integer; var IsHandled: Boolean; var ReversalEntry: Record "Reversal Entry")` (integration): Integration event raised before validating register entries for reversal.
- `OnBeforeInsertReversalEntry(var ReversalEntry: Record "Reversal Entry"; Number: Integer; RevType: Option Transaction,Register; var IsHandled: Boolean)` (integration): Integration event raised before inserting a new reversal entry record.
- `OnBeforeReverseEntries(Number: Integer; RevType: Integer; var IsHandled: Boolean; HideDialog: Boolean; var ReversalEntry: Record "Reversal Entry"; var HideWarningDialogs: Boolean)` (integration): Integration event raised before starting the reversal process for entries.
  - subscribers: [Codeunit 2630 "Stat. Acc. Reverse Entry"](../codeunit/2630.md) HandleOnBeforeInsertReversalEntry
- `OnInsertFromCustLedgEntryOnBeforeTempReversalEntryInsert(var TempReversalEntry: Record "Reversal Entry" temporary; CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Integration event raised before inserting temporary reversal entry from customer ledger entry.
- `OnInsertFromGLEntryOnBeforeClearTempReversalEntry(GLEntry: Record "G/L Entry")` (integration): Integration event raised before clearing temporary reversal entry in G/L entry processing.
- `OnInsertFromGLEntryOnBeforeTempReversalEntryInsert(var TempReversalEntry: Record "Reversal Entry" temporary; GLEntry: Record "G/L Entry"; RevType: Option Transaction,Register; var TempRevertTransactionNoRecordInteger: Record "Integer" temporary; ReversalEntry: Record "Reversal Entry")` (integration): Integration event raised before inserting temporary reversal entry from G/L entry.
- `OnInsertFromVendLedgEntryOnBeforeTempReversalEntryInsert(var TempReversalEntry: Record "Reversal Entry" temporary; VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Integration event raised before inserting temporary reversal entry from vendor ledger entry.
- `OnBeforeCaption(ReversalEntry: Record "Reversal Entry"; var Result: Text; var IsHandled: Boolean)` (integration): Integration event raised before generating caption text for reversal entries.
- `OnBeforeCheckVAT(var VATEntry: Record "VAT Entry"; var IsHandled: Boolean)` (integration): Integration event raised before validating VAT entries for reversal.
- `OnBeforeCheckBankAcc(var BankAccLedgEntry: Record "Bank Account Ledger Entry"; var IsHandled: Boolean; var SkipBankAccountLedgerEntryOpenCheck: Boolean; var SkipBankAccountLedgerEntryStatementNoCheck: Boolean)` (integration): Integration event raised before validating bank account ledger entries for reversal.
- `OnBeforeCheckVend(var VendLedgEntry: Record "Vendor Ledger Entry")` (integration): Integration event raised before validating vendor ledger entries for reversal.
- `OnBeforeCheckCust(var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Integration event raised before validating customer ledger entries for reversal.
- `OnCheckGLAccOnBeforeTestFields(GLAcc: Record "G/L Account"; GLEntry: Record "G/L Entry"; var IsHandled: Boolean)` (integration): Integration event raised before testing G/L account fields during reversal validation.
- `OnBeforeCheckPostingDate(PostingDate: Date; Caption: Text[50]; EntryNo: Integer; var IsHandled: Boolean; var ReversalEntry: Record "Reversal Entry"; var MaxPostingDate: Date)` (integration): Integration event raised before validating posting dates for reversal entries.
- `OnBeforeCheckDtldCustLedgEntry(CustLedgEntry: Record "Cust. Ledger Entry"; var IsHandled: Boolean)` (integration): Integration event raised before validating detailed customer ledger entries for reversal.
- `OnBeforeCCheckDtldVendLedgEntry(VendLedgEntry: Record "Vendor Ledger Entry"; var IsHandled: Boolean)` (integration): Integration event raised before validating detailed vendor ledger entries for reversal.
- `OnInsertFromVendLedgEntryOnBeforeCheckSameTransaction(VendLedgEntry: Record "Vendor Ledger Entry"; var DtldVendLedgEntry: Record "Detailed Vendor Ledg. Entry"; var IsHandled: Boolean)` (integration): Integration event raised before checking same transaction in vendor ledger entry processing.
- `OnInsertFromCustLedgEntryOnBeforeCheckSameTransaction(CustLedgEntry: Record "Cust. Ledger Entry"; var DtldCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; var IsHandled: Boolean)` (integration): Integration event raised before checking same transaction in customer ledger entry processing.
- `OnReverseEntriesOnAfterInsertReversalEntry(var TempReversalEntry: Record "Reversal Entry" temporary; Number: Integer; RevType: Option Transaction,Register)` (integration): Integration event raised after inserting reversal entry during reverse entries processing.
- `OnBeforeSetReverseFilter(Number: Integer; RevType: Option Transaction,Register; var GLEntry: Record "G/L Entry"; var CustLedgerEntry: Record "Cust. Ledger Entry"; var VendLedgerEntry: Record "Vendor Ledger Entry"; var EmployeeLedgerEntry: Record "Employee Ledger Entry"; var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; var VATEntry: Record "VAT Entry"; var FALedgerEntry: Record "FA Ledger Entry"; var MaintenanceLedgerEntry: Record "Maintenance Ledger Entry"; var GLRegister: Record "G/L Register"; var ReversalEntry: Record "Reversal Entry"; var IsHandled: Boolean)` (integration): Integration event raised before setting filters for reversal processing across all ledger entry types.
- `OnInsertFromBankAccLedgEntryOnStartRepeatBankAccLedgEntry(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")` (integration): Integration event raised at the start of bank account ledger entry processing loop.
- `OnBeforeInsertFromFALedgEntry(var TempRevertTransactionNoRecordInteger: Record "Integer"; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer; var TempReversalEntry: Record "Reversal Entry" temporary; var FALedgerEntry: Record "FA Ledger Entry"; var IsHandled: Boolean)` (integration): Integration event raised before inserting reversal entries from fixed asset ledger entries.
- `OnInsertFromVATEntryOnAfterVATEntrySetRange(var VATEntry: Record "VAT Entry"; RevType: Option Transaction,Register; var TempRevertTransactionNoRecordInteger: Record "Integer" temporary)` (integration): Integration event raised after setting VAT entry range filters during reversal processing.
- `OnInsertFromVATEntryOnStartRepeatVATEntry(var VATEntry: Record "VAT Entry")` (integration): Integration event raised at the start of VAT entry processing loop during reversal.
- `OnInsertFromVATEntryOnBeforeTempReversalEntryInsert(var TempReversalEntry: Record "Reversal Entry" temporary; RevType: Option Transaction,Register; var TempRevertTransactionNo: Record "Integer" temporary)` (integration): Integration event raised before inserting temporary reversal entry from VAT entry.
- `OnInsertFromGLEntryOnAfterGLEntrySetRange(var GLEntry: Record "G/L Entry"; RevType: Option Transaction,Register; var TempRevertTransactionNoRecordInteger: Record "Integer" temporary)` (integration): Integration event raised after setting G/L entry range filters during reversal processing.
- `OnBeforeInsertCustTempRevertTransNo(var TempRevertTransactionNoRecordInteger: Record "Integer" temporary; CustLedgEntryNo: Integer; var IsHandled: Boolean)` (integration): Integration event raised before inserting customer temporary revert transaction number.
- `OnBeforeInsertVendTempRevertTransNo(var TempRevertTransactionNoRecordInteger: Record "Integer" temporary; VendLedgEntryNo: Integer; var IsHandled: Boolean)` (integration): Integration event raised before inserting vendor temporary revert transaction number.
- `OnBeforeVerifyReversalEntries(var ReversalEntry2: Record "Reversal Entry"; Number: Integer; RevType: Option Transaction,Register; var IsHandled: Boolean; var Result: Boolean)` (integration): Integration event raised before verifying reversal entries for processing validity.

## Procedures

- `ReverseTransaction(TransactionNo: Integer)`: Reverses all ledger entries from a specific transaction number.
- `ReverseRegister(RegisterNo: Integer)`: Reverses all ledger entries from a specific G/L register number.
- `InsertReversalEntry(Number: Integer; RevType: Option Transaction,Register)` (protected)
- `CheckEntries()`: Validates all entries in the reversal list for reversal eligibility and business rule compliance.
- `SetReverseFilter(Number: Integer; RevType: Option Transaction,Register)`: Sets up filters on ledger entry tables for reversal processing based on transaction or register number.
- `CopyReverseFilters(var GLEntry: Record "G/L Entry"; var CustLedgerEntry: Record "Cust. Ledger Entry"; var VendorLedgerEntry: Record "Vendor Ledger Entry"; var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; var VATEntry: Record "VAT Entry"; var FALedgerEntry: Record "FA Ledger Entry"; var MaintenanceLedgerEntry: Record "Maintenance Ledger Entry"; var EmployeeLedgerEntry: Record "Employee Ledger Entry")`: Copies reversal filters from global ledger entry variables to passed ledger entry record variables.
- `ShowGLEntries()`: Opens the G/L Entries page filtered for reversal candidates.
- `ShowCustLedgEntries()`: Opens the Customer Ledger Entries page filtered for reversal candidates.
- `ShowVendLedgEntries()`: Opens the Vendor Ledger Entries page filtered for reversal candidates.
- `ShowBankAccLedgEntries()`: Opens the Bank Account Ledger Entries page filtered for reversal candidates.
- `ShowFALedgEntries()`: Opens the Fixed Asset Ledger Entries page filtered for reversal candidates.
- `ShowMaintenanceLedgEntries()`: Opens the Maintenance Ledger Entries page filtered for reversal candidates.
- `ShowVATEntries()`: Opens the VAT Entries page filtered for reversal candidates.
- `Caption(): Text`: Returns a caption describing the entry for display purposes.
- `CheckPostingDate(PostingDate: Date; TableCaption: Text; EntryNo: Integer)`: Validates that the posting date allows reversal based on allowed posting date range.
- `CheckFAPostingDate(FAPostingDate: Date; TableCaption: Text; EntryNo: Integer)`: Validates that the Fixed Asset posting date allows reversal based on FA allowed posting date range.
- `TestFieldError()`: Raises an error indicating missing required field values for reversal operation.
- `AlreadyReversedEntry(TableCaption: Text; EntryNo: Integer)`: Raises an error indicating the entry has already been reversed.
- `VerifyReversalEntries(var ReversalEntry2: Record "Reversal Entry"; Number: Integer; RevType: Option Transaction,Register): Boolean`: Verifies that reversal entries are valid and consistent for the specified transaction or register.
- `Equal(ReversalEntry2: Record "Reversal Entry"): Boolean`: Compares two reversal entries for equality based on Entry Type and Entry No.
- `ReversalErrorForChangedEntry(TableCaption: Text; EntryNo: Integer): Text[1024]`: Returns an error message for entries that have been changed since reversal preparation.
- `SetHideDialog(NewHideDialog: Boolean)`: Sets whether to hide dialog boxes during reversal processing.
- `SetHideWarningDialogs()`: Sets both dialog hiding and warning dialog hiding for batch processing.
- `SetBankAccountStatement(BankAccountNo: Code[20]; StatementNo: Code[20])`: Sets the bank account statement context for bank account ledger entry reversals.
- `InsertFromCustLedgEntry(var TempTransactionInteger: Record "Integer" temporary; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer)` (protected)
- `InsertFromVendLedgEntry(var TempTransactionNoInteger: Record "Integer" temporary; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer)` (protected)
- `InsertFromEmplLedgerEntry(var TempTransactionNoInteger: Record "Integer" temporary; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer)` (protected)
- `InsertFromBankAccLedgEntry(TempTransactionNoInteger: Record "Integer" temporary; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer)` (protected)
- `InsertFromFALedgEntry(TempTransactionNoInteger: Record "Integer" temporary; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer)` (protected)
- `InsertFromMaintenanceLedgEntry(TempTransactionNoInteger: Record "Integer" temporary; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer)` (protected)
- `InsertFromVATEntry(var TempTransactionNoInteger: Record "Integer" temporary; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer)` (protected)
- `InsertFromGLEntry(var TempTransactionNoInteger: Record "Integer" temporary; Number: Integer; RevType: Option Transaction,Register; var NextLineNo: Integer)` (protected)
- `CopyFromCustLedgEntry(CustLedgerEntry: Record "Cust. Ledger Entry")`: Copies field values from a Customer Ledger Entry to populate reversal entry information.
- `CopyFromBankAccLedgEntry(BankAccountLedgerEntry: Record "Bank Account Ledger Entry")`: Copies field values from a Bank Account Ledger Entry to populate reversal entry information.
- `CopyFromFALedgEntry(FALedgerEntry: Record "FA Ledger Entry")`: Copies field values from a Fixed Asset Ledger Entry to populate reversal entry information.
- `CopyFromGLEntry(GLEntry: Record "G/L Entry")`: Copies field values from a G/L Entry to populate reversal entry information.
- `CopyFromMaintenanceEntry(MaintenanceLedgerEntry: Record "Maintenance Ledger Entry")`: Copies field values from a Maintenance Ledger Entry to populate reversal entry information.
- `CopyFromVATEntry(VATEntry: Record "VAT Entry")`: Copies field values from a VAT Entry to populate reversal entry information.
- `CopyFromVendLedgEntry(VendorLedgerEntry: Record "Vendor Ledger Entry")`: Copies field values from a Vendor Ledger Entry to populate reversal entry information.
- `CopyFromEmployeeLedgerEntry(EmployeeLedgerEntry: Record "Employee Ledger Entry")`: Copies field values from an Employee Ledger Entry to populate reversal entry information.

Plus 19 local procedures.

## Relations

- Bal. Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- Entry No.: TableRelation [Table 17 "G/L Entry"](../table/17.md) (conditional)
- Bal. Account No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Source No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Entry No.: TableRelation [Table 21 "Cust. Ledger Entry"](../table/21.md) (conditional)
- Bal. Account No.: TableRelation [Table 23 "Vendor"](../table/23.md) (conditional)
- Source No.: TableRelation [Table 23 "Vendor"](../table/23.md) (conditional)
- Source Code: TableRelation [Table 230 "Source Code"](../table/230.md)
- Entry No.: TableRelation [Table 25 "Vendor Ledger Entry"](../table/25.md) (conditional)
- Bal. Account No.: TableRelation [Table 270 "Bank Account"](../table/270.md) (conditional)
- Source No.: TableRelation [Table 270 "Bank Account"](../table/270.md) (conditional)
- Entry No.: TableRelation [Table 271 "Bank Account Ledger Entry"](../table/271.md) (conditional)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Source Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- G/L Register No.: TableRelation [Table 45 "G/L Register"](../table/45.md)
- Source No.: TableRelation [Table 5200 "Employee"](../table/5200.md) (conditional)
- Source No.: TableRelation [Table 5600 "Fixed Asset"](../table/5600.md) (conditional)

## Pages and codeunits on this table

- [Page 183 "Reverse Transaction Entries"](../page/183.md) (source table)
- [Page 2629 "Stat. Acc. Reverse Entries"](../page/2629.md) (source table)
- [Codeunit 179 "Reversal-Post"](../codeunit/179.md) (codeunit runs on it)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 179 "Reversal-Post"](../codeunit/179.md) (3 calls: `ReverseEntries → (object)`, `ReverseEntries → SetHideDialog`, `ReverseEntries → SetPrint`)
- [Codeunit 11 "Gen. Jnl.-Check Line"](../codeunit/11.md) (1 call: `CheckPostingDate → DateNotAllowed`)
- [Codeunit 5616 "Depreciation Calculation"](../codeunit/5616.md) (1 call: `CheckFA → FAName`)

## Recent changes

- 2026-08-28 [#10630 Extend OnBeforeCheckBankAcc to skip specific bank reversal checks](../../changes/bcapps/10630.md) (main, BC30, feature)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26-29

## Countries that replace it

[AU](../../localizations/au.md), [BE](../../localizations/be.md), [CH](../../localizations/ch.md), [IT](../../localizations/it.md), [NZ](../../localizations/nz.md), [RU](../../localizations/ru.md)

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "table", object_name: "Reversal Entry")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
