---
id: object/table/81
type: object
title: Table 81 "Gen. Journal Line"
summary: Table 81 "Gen. Journal Line" in Base Application (Microsoft.Finance.GeneralLedger.Journal). 215 fields, 136 public procedures, 273 events. Present since at least BC23, still in BC30, changed in BC24-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: 4f8b13cfafd130248ed48e17f3ec16bb6674358d7911a2ec960ab75b6ac5c57c
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Journal/GenJournalLine.Table.al
    title: src/Layers/W1/BaseApp/Finance/GeneralLedger/Journal/GenJournalLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-make-payments-with-bank-data-conversion-service-or-sepa-credit-transfer
    - https://learn.microsoft.com/dynamics365/business-central/finance-withholding-tax-employees
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Belgium/how-to-create-financial-journals
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Belgium/how-to-create-payment-journal-templates-and-batches
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Belgium/how-to-generate-payment-suggestions
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/UnitedKingdom/how-to-print-checks-for-apacs
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/UnitedKingdom/how-to-print-remittance-advice
    - https://learn.microsoft.com/dynamics365/business-central/payables-how-post-payments-refunds
    - https://learn.microsoft.com/dynamics365/business-central/payables-how-suggest-vendor-payments
    - https://learn.microsoft.com/dynamics365/business-central/payables-how-work-checks
    - https://learn.microsoft.com/dynamics365/business-central/payables-make-payments
    - https://learn.microsoft.com/dynamics365/business-central/payables-manage-payables
    - https://learn.microsoft.com/dynamics365/business-central/ui-work-general-journals
    - https://learn.microsoft.com/dynamics365/business-central/bank-how-transfer-bank-funds
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-post-transactions-directly
    - https://learn.microsoft.com/dynamics365/business-central/learn-accounting-bookkeeping-guide
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/UnitedKingdom/how-to-change-vat-setup-in-journals
    - https://learn.microsoft.com/dynamics365/business-central/ui-let-system-suggest-values
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Norway/how-to-import-and-post-ocr-payments
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Norway/how-to-print-the-ocr-journal-test-report
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Norway/norwegian-giro-and-ocr-b-font
    - https://learn.microsoft.com/dynamics365/business-central/receivables-how-apply-sales-transactions-manually
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_journalLine_create
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_journalline_delete
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_journalline_get
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_journalline_update
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/resources/dynamics_journalline
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_customerPayment_create
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_customerpayment_delete
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_customerpayment_get
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_customerpayment_update
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/resources/dynamics_customerpayment
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_vendorpayment_create
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_vendorpayment_delete
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_vendorpayment_get
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_vendorpayment_update
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/resources/dynamics_vendorPayment
    - https://learn.microsoft.com/dynamics365/business-central/finance-recurring-invoicing
    - https://learn.microsoft.com/dynamics365/business-central/ui-how-use-allocation-keys-general-journals
    - https://learn.microsoft.com/dynamics365/business-central/year-allocate-costs-income
    - https://learn.microsoft.com/dynamics365/business-central/fa-how-acquire
    - https://learn.microsoft.com/dynamics365/business-central/fa-how-dispose-retire
    - https://learn.microsoft.com/dynamics365/business-central/fa-how-revalue
    - https://learn.microsoft.com/dynamics365/business-central/value-chain-howto-fixed-assets
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/api/dynamics_journalline_delete
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/api/dynamics_journalline_get
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/api/dynamics_journalline_update
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/resources/dynamics_journalline
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/api/dynamics_customerpayment_delete
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/api/dynamics_customerpayment_get
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/api/dynamics_customerpayment_update
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/resources/dynamics_customerpayment
    - https://learn.microsoft.com/dynamics365/business-central/projects-assemble-to-project
    - https://learn.microsoft.com/dynamics365/business-central/projects-how-create-jobs
    - https://learn.microsoft.com/dynamics365/business-central/projects-how-manage-project-supplies
    - https://learn.microsoft.com/dynamics365/business-central/sales-manage-sales
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-define-check-layouts
    - https://learn.microsoft.com/dynamics365/business-central/intercompany-how-work-documents-journals
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance
    - topic/business-central/business-functionality/finance/closing-years-and-periods
    - topic/business-central/business-functionality/finance/manage-payables
    - topic/business-central/business-functionality/finance/manage-payables/make-payments
    - topic/business-central/business-functionality/finance/manage-receivables
    - topic/business-central/business-functionality/finance/multi-site-and-international-organizatio/manage-intercompany-transactions
    - topic/business-central/business-functionality/finance/reconcile-bank-accounts
    - topic/business-central/business-functionality/finance/work-with-the-chart-of-accounts-and-gene
    - topic/business-central/business-functionality/fixed-assets
    - topic/business-central/business-functionality/fixed-assets/fixed-assets-analytics/built-in-fixed-assets-analytics-tools
    - topic/business-central/business-functionality/general-business-functionality
    - topic/business-central/business-functionality/general-business-functionality/exchange-data-electronically/exchange-data
    - topic/business-central/business-functionality/local-functionality/belgium/banking-and-payments
    - topic/business-central/business-functionality/local-functionality/belgium/core-finance
    - topic/business-central/business-functionality/local-functionality/canada/banking-and-payments
    - topic/business-central/business-functionality/local-functionality/mexico/general
    - topic/business-central/business-functionality/local-functionality/norway/banking-and-payments
    - topic/business-central/business-functionality/local-functionality/united-kingdom/banking-and-payments
    - topic/business-central/business-functionality/local-functionality/united-kingdom/vat
    - topic/business-central/business-functionality/local-functionality/united-states/banking-and-payments
    - topic/business-central/business-functionality/project-management
    - topic/business-central/business-functionality/sales
    - topic/business-central/business-functionality/set-up-business-central/set-up-banking
    - topic/business-central/business-functionality/set-up-business-central/set-up-finance
    - topic/business-central/business-functionality/sustainability-management/sustainability-value-chain
  localizations:
    - localization/at
    - localization/au
    - localization/be
    - localization/ca
    - localization/ch
    - localization/de
    - localization/es
    - localization/fi
    - localization/fr
    - localization/gb
    - localization/it
    - localization/mx
    - localization/nl
    - localization/no
    - localization/nz
    - localization/ru
    - localization/se
    - localization/us
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/11160
    - change/bcapps/10061
    - change/bcapps/9391
    - change/bcapps/8959
object_type: table
object_id: 81
name: Gen. Journal Line
namespace: Microsoft.Finance.GeneralLedger.Journal
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries:
  - at
  - au
  - be
  - ca
  - ch
  - de
  - es
  - fi
  - fr
  - gb
  - it
  - mx
  - nl
  - "no"
  - nz
  - ru
  - se
  - us
ms_search_form_ids: []
counts:
  fields: 215
  procedures: 520
  events: 273
  subscribers: 0
relations:
  out: 81
  referenced_by: 4
  pages: 21
  extended_by: 8
  event_subscribers: 35
  calls: 30
  called_by: 0
  implements: 0
---

# Table 81 "Gen. Journal Line"

> Table 81 "Gen. Journal Line" in Base Application (Microsoft.Finance.GeneralLedger.Journal). 215 fields, 136 public procedures, 273 events. Present since at least BC23, still in BC30, changed in BC24-29.

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

Learn documents this table through its pages: [Page 256 "Payment Journal"](../page/256.md) (13 Learn pages), [Page 39 "General Journal"](../page/39.md) (7), [Page 255 "Cash Receipt Journal"](../page/255.md) (5), [Page 30049 "APIV2 - JournalLines"](../page/30049.md) (5), [Page 30055 "APIV2 - Customer Payments"](../page/30055.md) (5), [Page 30060 "APIV2 - Vendor Payments"](../page/30060.md) (5), [Page 283 "Recurring General Journal"](../page/283.md) (4), [Page 5628 "Fixed Asset G/L Journal"](../page/5628.md) (4), [Page 20049 "APIV1 - JournalLines"](../page/20049.md) (4), [Page 20058 "APIV1 - Customer Payments"](../page/20058.md) (4), [Page 1020 "Job G/L Journal"](../page/1020.md) (3), [Page 253 "Sales Journal"](../page/253.md) (2), [Page 254 "Purchase Journal"](../page/254.md) (2), [Page 404 "Check Preview"](../page/404.md) (2), [Page 610 "IC General Journal"](../page/610.md) (1), [Page 5551 "Fixed Asset Acquisition Wizard"](../page/5551.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Gen. Journal Line |
| DataClassification | CustomerContent |
| Permissions | tabledata "Sales Invoice Header" = r, tabledata Customer = R, tabledata "Cust. Ledger Entry" = R, tabledata "G/L Account" = R, tabledata "VAT Posting Setup" = R, tabledata Vendor = R, tabledata "Vendor Ledger Entry" = R, tabledata "Data Exch. Field" = rimd |

## 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 | Journal Template Name | Code[10] | — | TableRelation [Table 80 "Gen. Journal Template"](../table/80.md) (Gen. Journal Template) |
| 2 | Line No. | Integer | — |  |
| 3 | Account Type | Enum "Gen. Journal Account Type" | Specifies the type of account that the entry on the journal line will be posted to. | enum [Enum 81 "Gen. Journal Account Type"](../enum/81.md) |
| 4 | Account No. | Code[20] | Specifies the account number that the entry on the journal line will be posted to. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 18 "Customer"](../table/18.md), [Table 23 "Vendor"](../table/23.md) (if ("Account Type" = const("G/L Account")) "G/L Account" where("Account Type" = const(Posting), Blocked = const(false)) else if ("Account Type" = const(Customer)) Customer else if ("Account Type" = const(Vendor)) Vendor else if ("Account Type" = const("Bank Account")) "Bank Account" else if ("Accoun...) |
| 5 | Posting Date | Date | Specifies the posting date for the entry. |  |
| 6 | Document Type | Enum "Gen. Journal Document Type" | Specifies the type of document that the entry on the journal line is. | enum [Enum 6 "Gen. Journal Document Type"](../enum/6.md) |
| 7 | Document No. | Code[20] | Specifies a document number for the journal line. |  |
| 8 | Description | Text[100] | Specifies a description of the entry. |  |
| 10 | VAT % | Decimal | Specifies the relevant VAT rate for the particular combination of VAT business posting group and VAT product posting group. Do not enter the percent sign, only the number. For example, if the VAT rate is 25 %, enter 25 in this field. | not editable |
| 11 | 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" where("Account Type" = const(Posting), Blocked = const(false)) 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 Accou...) |
| 12 | Currency Code | Code[10] | Specifies the code of the currency for the amounts on the journal line. | TableRelation [Table 4 "Currency"](../table/4.md) |
| 13 | Amount | Decimal | Specifies the total amount (including VAT) that the journal line consists of. |  |
| 14 | Debit Amount | Decimal | Specifies the total of the ledger entries that represent debits. |  |
| 15 | Credit Amount | Decimal | Specifies the total of the ledger entries that represent credits. |  |
| 16 | Amount (LCY) | Decimal | Specifies the total amount in local currency (including VAT) that the journal line consists of. <small>via [Page 39 "General Journal"](../page/39.md)</small> |  |
| 17 | Balance (LCY) | Decimal | — | not editable |
| 18 | Currency Factor | Decimal | — | not editable |
| 19 | Sales/Purch. (LCY) | Decimal | Specifies the line's net amount (the amount excluding VAT) if you are using this journal line for an invoice. The field is important for customer and vendor statistics, but it has no significance for posting. You can either fill in the field or it will be calculated automatically once you fill in th... <small>via [Page 253 "Sales Journal"](../page/253.md)</small> |  |
| 20 | Profit (LCY) | Decimal | Specifies the line's profit amount if you are using this journal line for an invoice. <small>via [Page 253 "Sales Journal"](../page/253.md)</small> |  |
| 21 | Inv. Discount (LCY) | Decimal | Specifies the amount of the invoice discount if you are using this journal line for an invoice. <small>via [Page 253 "Sales Journal"](../page/253.md)</small> |  |
| 22 | Bill-to/Pay-to No. | Code[20] | Specifies the number of the bill-to customer or pay-to vendor that the entry is linked to. | TableRelation [Table 18 "Customer"](../table/18.md), [Table 23 "Vendor"](../table/23.md) (if ("Account Type" = const(Customer)) Customer else if ("Bal. Account Type" = const(Customer)) Customer else if ("Account Type" = const(Vendor)) Vendor else if ("Bal. Account Type" = const(Vendor)) Vendor); not editable |
| 23 | Posting Group | Code[20] | Specifies the posting group that will be used in posting the journal line.The field is used only if the account type is either customer or vendor. | TableRelation [Table 5221 "Employee Posting Group"](../table/5221.md), [Table 5606 "FA Posting Group"](../table/5606.md), [Table 92 "Customer Posting Group"](../table/92.md) (if ("Account Type" = const(Customer)) "Customer Posting Group" else if ("Account Type" = const(Vendor)) "Vendor Posting Group" else if ("Account Type" = const("Fixed Asset")) "FA Posting Group" else if ("Account Type" = const(Employee)) "Employee Posting Group") |
| 24 | Shortcut Dimension 1 Code | Code[20] | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1), Blocked = const(false))) |
| 25 | Shortcut Dimension 2 Code | Code[20] | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2), Blocked = const(false))) |
| 26 | Salespers./Purch. Code | Code[20] | Specifies the salesperson or purchaser who is linked to the journal line. | TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md) ("Salesperson/Purchaser" where(Blocked = const(false))) |
| 28 | Pending Approval | Boolean | — | not editable |
| 29 | Source Code | Code[10] | — | TableRelation [Table 230 "Source Code"](../table/230.md) (Source Code); not editable |
| 30 | System-Created Entry | Boolean | — | not editable |
| 31 | Your Reference | Text[35] | — |  |
| 34 | On Hold | Code[3] | Specifies that the related entry represents an unpaid invoice for which either a payment suggestion, a reminder, or a finance charge memo exists. |  |
| 35 | Applies-to Doc. Type | Enum "Gen. Journal Document Type" | Specifies the type of the posted document that this document or journal line will be applied to when you post, for example to register payment. | enum [Enum 6 "Gen. Journal Document Type"](../enum/6.md) |
| 36 | Applies-to Doc. No. | Code[20] | Specifies the number of the posted document that this document or journal line will be applied to when you post, for example to register payment. |  |
| 38 | Due Date | Date | Specifies the due date on the entry. |  |
| 39 | Pmt. Discount Date | Date | Specifies the date on which the amount in the entry must be paid for a payment discount to be granted. |  |
| 40 | Payment Discount % | Decimal | Specifies the payment discount percent granted if payment is made on or before the date in the Pmt. Discount Date field. |  |
| 42 | Job No. | Code[20] | Specifies the number of the related project. | TableRelation [Table 167 "Job"](../table/167.md) |
| 43 | Quantity | Decimal | Specifies the quantity of items to be included on the journal line. |  |
| 44 | VAT Amount | Decimal | Specifies the amount of VAT that is included in the total amount. |  |
| 45 | VAT Posting | Option | — | OptionCaption: Automatic VAT Entry,Manual VAT Entry; not editable |
| 47 | Payment Terms Code | Code[10] | Specifies a formula that calculates the payment due date, payment discount date, and payment discount amount. | TableRelation [Table 3 "Payment Terms"](../table/3.md) (Payment Terms) |
| 48 | Applies-to ID | Code[50] | Specifies the ID of entries that will be applied to when you choose the Apply Entries action. |  |
| 50 | Business Unit Code | Code[20] | Specifies the code of the business unit that the entry derives from in a consolidated company. | TableRelation [Table 220 "Business Unit"](../table/220.md) (Business Unit) |
| 51 | Journal Batch Name | Code[10] | — | TableRelation [Table 232 "Gen. Journal Batch"](../table/232.md) ("Gen. Journal Batch".Name where("Journal Template Name" = field("Journal Template Name"))) |
| 52 | Reason Code | Code[10] | Specifies the reason code, a supplementary source code that enables you to trace the entry. | TableRelation [Table 231 "Reason Code"](../table/231.md) (Reason Code) |
| 53 | Recurring Method | Enum "Gen. Journal Recurring Method" | Specifies a recurring method if the Recurring field of the General Journal Template table indicates the journal is recurring. | enum [Enum 53 "Gen. Journal Recurring Method"](../enum/53.md) |
| 54 | Expiration Date | Date | Specifies the last date the recurring journal will be posted, if you have indicated in the journal is recurring. |  |
| 55 | Recurring Frequency | DateFormula | Specifies a recurring frequency if the Recurring field of the General Journal Template table indicates the journal is recurring. |  |
| 56 | Allocated Amt. (LCY) | Decimal | Specifies the amount that has been allocated when you have used the Allocations function in the Gen. Jnl. Allocation table. <small>via [Page 283 "Recurring General Journal"](../page/283.md)</small> | FlowField: sum("Gen. Jnl. Allocation".Amount where("Journal Template Name" = field("Journal Template Name"), "Journal Batch Name" = field("Journal Batch Name"), "Journal Line No." = field("Line No."))); not editable |
| 57 | Gen. Posting Type | Enum "General Posting Type" | Specifies the type of transaction. | enum [Enum 57 "General Posting Type"](../enum/57.md) |
| 58 | Gen. Bus. Posting Group | Code[20] | Specifies the vendor's or customer's trade type to link transactions made for this business partner with the appropriate general ledger account according to the general posting setup. | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group) |
| 59 | Gen. Prod. Posting Group | Code[20] | Specifies the item's product type to link transactions made for this item with the appropriate general ledger account according to the general posting setup. | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group) |
| 60 | VAT Calculation Type | Enum "Tax Calculation Type" | — | enum [Enum 254 "Tax Calculation Type"](../enum/254.md); not editable |
| 61 | EU 3-Party Trade | Boolean | Specifies whether the entry was part of a 3-party trade. If it was, there is a check mark in the field. | not editable |
| 62 | Allow Application | Boolean | — |  |
| 63 | 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) |
| 64 | Bal. Gen. Posting Type | Enum "General Posting Type" | Specifies the general posting type associated with the balancing account that will be used when you post the entry on the journal line. | enum [Enum 57 "General Posting Type"](../enum/57.md) |
| 65 | Bal. Gen. Bus. Posting Group | Code[20] | Specifies the general business posting group code associated with the balancing account that will be used when you post the entry. | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group) |
| 66 | Bal. Gen. Prod. Posting Group | Code[20] | Specifies the general product posting group code associated with the balancing account that will be used when you post the entry. | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group) |
| 67 | Bal. VAT Calculation Type | Enum "Tax Calculation Type" | — | enum [Enum 254 "Tax Calculation Type"](../enum/254.md); not editable |
| 68 | Bal. VAT % | Decimal | — | not editable |
| 69 | Bal. VAT Amount | Decimal | Specifies the amount of Bal. VAT included in the total amount. |  |
| 70 | Bank Payment Type | Enum "Bank Payment Type" | Specifies the code for the payment type to be used for the entry on the journal line. | enum [Enum 272 "Bank Payment Type"](../enum/272.md) |
| 71 | VAT Base Amount | Decimal | — |  |
| 72 | Bal. VAT Base Amount | Decimal | — |  |
| 73 | Correction | Boolean | Specifies the entry as a corrective entry. You can use the field if you need to post a corrective entry to an account. |  |
| 74 | Print Posted Documents | Boolean | — |  |
| 75 | Check Printed | Boolean | Specifies whether a check has been printed for the amount on the payment journal line. | not editable |
| 76 | Document Date | Date | Specifies the date when the related document was created. |  |
| 77 | External Document No. | Code[35] | Specifies a document number that refers to the customer's or vendor's numbering system. |  |
| 78 | Source Type | Enum "Gen. Journal Source Type" | — | enum [Enum 82 "Gen. Journal Source Type"](../enum/82.md) |
| 79 | Source No. | Code[20] | — | 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) |
| 80 | Posting No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 82 | Tax Area Code | Code[20] | Specifies the tax area that is used to calculate and post sales tax. | TableRelation [Table 318 "Tax Area"](../table/318.md) (Tax Area) |
| 83 | Tax Liable | Boolean | Specifies if the customer or vendor is liable for sales tax. |  |
| 84 | Tax Group Code | Code[20] | Specifies the tax group that is used to calculate and post sales tax. | TableRelation [Table 321 "Tax Group"](../table/321.md) (Tax Group) |
| 85 | Use Tax | Boolean | Specifies that the purchase is subject to use tax. Use tax is a sales tax that is paid on items that are purchased by a company and are used by that company instead of being sold to a customer. |  |
| 86 | Bal. Tax Area Code | Code[20] | — | TableRelation [Table 318 "Tax Area"](../table/318.md) (Tax Area) |
| 87 | Bal. Tax Liable | Boolean | — |  |
| 88 | Bal. Tax Group Code | Code[20] | — | TableRelation [Table 321 "Tax Group"](../table/321.md) (Tax Group) |
| 89 | Bal. Use Tax | Boolean | — |  |
| 90 | VAT Bus. Posting Group | Code[20] | Specifies the VAT specification of the involved customer or vendor to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md) (VAT Business Posting Group) |
| 91 | VAT Prod. Posting Group | Code[20] | Specifies the VAT specification of the involved item or resource to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md) (VAT Product Posting Group) |
| 92 | Bal. VAT Bus. Posting Group | Code[20] | Specifies the code of the VAT business posting group that will be used when you post the entry on the journal line. | TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md) (VAT Business Posting Group) |
| 93 | Bal. VAT Prod. Posting Group | Code[20] | Specifies the code of the VAT product posting group that will be used when you post the entry on the journal line. | TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md) (VAT Product Posting Group) |
| 95 | Additional-Currency Posting | Option | — | OptionCaption: None,Amount Only,Additional-Currency Amount Only; not editable |
| 98 | FA Add.-Currency Factor | Decimal | — |  |
| 99 | Source Currency Code | Code[10] | — | TableRelation [Table 4 "Currency"](../table/4.md); not editable |
| 100 | Source Currency Amount | Decimal | — | not editable |
| 101 | Source Curr. VAT Base Amount | Decimal | — | not editable |
| 102 | Source Curr. VAT Amount | Decimal | — | not editable |
| 103 | VAT Base Discount % | Decimal | — | not editable |
| 104 | VAT Amount (LCY) | Decimal | — | not editable |
| 105 | VAT Base Amount (LCY) | Decimal | — | not editable |
| 106 | Bal. VAT Amount (LCY) | Decimal | — | not editable |
| 107 | Bal. VAT Base Amount (LCY) | Decimal | — | not editable |
| 108 | Reversing Entry | Boolean | — | not editable |
| 109 | Allow Zero-Amount Posting | Boolean | — | not editable |
| 110 | Ship-to/Order Address Code | Code[10] | Specifies the address code of the ship-to customer or order-from vendor that the entry is linked to. | TableRelation [Table 222 "Ship-to Address"](../table/222.md), [Table 224 "Order Address"](../table/224.md) (if ("Account Type" = const(Customer)) "Ship-to Address".Code where("Customer No." = field("Bill-to/Pay-to No.")) else if ("Account Type" = const(Vendor)) "Order Address".Code where("Vendor No." = field("Bill-to/Pay-to No.")) else if ("Bal. Account Type" = const(Customer)) "Ship-to Address".Code wher...) |
| 111 | VAT Difference | Decimal | Specifies the difference between the calculated VAT amount and a VAT amount that you have entered manually. | not editable |
| 112 | Bal. VAT Difference | Decimal | Specifies the difference between the calculate VAT amount and the VAT amount that you have entered manually. | not editable |
| 113 | IC Partner Code | Code[20] | — | TableRelation [Table 413 "IC Partner"](../table/413.md) (IC Partner); not editable |
| 114 | IC Direction | Enum "IC Direction Type" | — | enum [Enum 129 "IC Direction Type"](../enum/129.md) |
| 116 | IC Partner G/L Acc. No. | Code[20] | — | obsolete Removed 25.0; #if not CLEANSCHEMA25; TableRelation [Table 410 "IC G/L Account"](../table/410.md) (IC G/L Account) |
| 117 | IC Partner Transaction No. | Integer | — | not editable |
| 118 | Sell-to/Buy-from No. | Code[20] | — | TableRelation [Table 18 "Customer"](../table/18.md), [Table 23 "Vendor"](../table/23.md) (if ("Account Type" = const(Customer)) Customer else if ("Bal. Account Type" = const(Customer)) Customer else if ("Account Type" = const(Vendor)) Vendor else if ("Bal. Account Type" = const(Vendor)) Vendor) |
| 119 | VAT Registration No. | Text[20] | — |  |
| 120 | Country/Region Code | Code[10] | — | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 121 | Prepayment | Boolean | — |  |
| 122 | Financial Void | Boolean | — | not editable |
| 123 | Copy VAT Setup to Jnl. Lines | Boolean | — | not editable |
| 125 | VAT Base Before Pmt. Disc. | Decimal | — | not editable |
| 126 | Orig. Pmt. Disc. Possible | Decimal | Original Pmt. Disc. Possible <small>caption</small> |  |
| 127 | Orig. Pmt. Disc. Possible(LCY) | Decimal | Orig. Pmt. Disc. Possible (LCY) <small>caption</small> |  |
| 128 | VAT Reporting Date | Date | Specifies the VAT date for the entry. |  |
| 129 | Zero Src. Curr. Amount | Boolean | Zero Source Currency Amount <small>caption</small> | not editable |
| 130 | IC Account Type | Enum "IC Journal Account Type" | Specifies the type of the account that you want to use for the transaction with your IC partner. | enum [Enum 84 "IC Journal Account Type"](../enum/84.md) |
| 131 | IC Account No. | Code[20] | Specifies the number of the general ledger or bank account that the IC transaction is posted to. | TableRelation [Table 410 "IC G/L Account"](../table/410.md), [Table 422 "IC Bank Account"](../table/422.md) (if ("IC Account Type" = const("G/L Account")) "IC G/L Account" where("Account Type" = const(Posting), Blocked = const(false)) else if ("Account Type" = const(Customer), "IC Account Type" = const("Bank Account")) "IC Bank Account" where("IC Partner Code" = field("IC Partner Code"), Blocked = const(fa...) |
| 146 | Spend Request No. | Code[20] | Specifies the spend request that this journal line relates to. | TableRelation [Table 6840 "Spend Request"](../table/6840.md) ("Spend Request" where(Status = const(Approved), "Document Type" = const(" "))) |
| 147 | Spend Request Close | Boolean | Specifies that the spend request will be closed when the journal line is posted. |  |
| 160 | Job Queue Status | Enum "Document Job Queue Status" | Specifies the status of a job queue entry or task that handles the posting of general journals. | enum [Enum 485 "Document Job Queue Status"](../enum/485.md); not editable |
| 161 | Job Queue Entry ID | Guid | — | not editable |
| 165 | Incoming Document Entry No. | Integer | Specifies the number of the incoming document that this general journal line is created for. | TableRelation [Table 130 "Incoming Document"](../table/130.md) (Incoming Document) |
| 170 | Creditor No. | Code[20] | Specifies the vendor who sent the purchase invoice. |  |
| 171 | Payment Reference | Code[50] | Specifies the payment of the purchase invoice. |  |
| 172 | Payment Method Code | Code[10] | Specifies how to make payment, such as with bank transfer, cash, or check. | TableRelation [Table 289 "Payment Method"](../table/289.md) (Payment Method) |
| 173 | Applies-to Ext. Doc. No. | Code[35] | Specifies the external document number that will be exported in the payment file. |  |
| 175 | Invoice Received Date | Date | Specifies the date when the related document was received. |  |
| 180 | Keep Description | Boolean | — | not editable |
| 288 | Recipient Bank Account | Code[20] | Specifies the bank account that the amount will be transferred to after it has been exported from the payment journal. | TableRelation [Table 287 "Customer Bank Account"](../table/287.md), [Table 288 "Vendor Bank Account"](../table/288.md) (if ("Account Type" = const(Customer)) "Customer Bank Account".Code where("Customer No." = field("Account No.")) else if ("Account Type" = const(Vendor)) "Vendor Bank Account".Code where("Vendor No." = field("Account No.")) else if ("Account Type" = const(Employee)) Employee."No." where("Employee No....) |
| 289 | Message to Recipient | Text[140] | Specifies the message exported to the payment file when you use the Export Payments to File function in the Payment Journal window. |  |
| 290 | Exported to Payment File | Boolean | Specifies that the payment journal line was exported to a payment file. | not editable |
| 291 | Has Payment Export Error | Boolean | Specifies that an error occurred when you used the Export Payments to File function in the Payment Journal window. | FlowField: exist("Payment Jnl. Export Error Text" where("Journal Template Name" = field("Journal Template Name"), "Journal Batch Name" = field("Journal Batch Name"), "Journal Line No." = field("Line No."))); not editable |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 1000 | Remit-to Code | Code[20] | Specifies the address for the remit-to code. | TableRelation [Table 2224 "Remit Address"](../table/2224.md) ("Remit Address".Code where("Vendor No." = field("Sell-to/Buy-from No."))) |
| 1001 | Job Task No. | Code[20] | Specifies the number of the related project task. | TableRelation [Table 1001 "Job Task"](../table/1001.md) ("Job Task"."Job Task No." where("Job No." = field("Job No."))) |
| 1002 | Job Unit Price (LCY) | Decimal | Specifies the unit price, in the local currency, for the selected account type and account number on the journal line. <small>via [Page 1020 "Job G/L Journal"](../page/1020.md)</small> | not editable |
| 1003 | Job Total Price (LCY) | Decimal | Specifies the total price for the journal line, in the local currency. The value is calculated as follows: Quantity x Unit Price (LCY). <small>via [Page 1020 "Job G/L Journal"](../page/1020.md)</small> | not editable |
| 1004 | Job Quantity | Decimal | Specifies the quantity for the project ledger entry that is derived from posting the journal line. If the Project Quantity is 0, the total amount on the project ledger entry will also be 0. |  |
| 1005 | Job Unit Cost (LCY) | Decimal | Specifies the project cost of one unit of the item or resource on the journal line, in the local currency. The value is calculated as follows: Project Total Cost (LCY) / Project Quantity. <small>via [Page 1020 "Job G/L Journal"](../page/1020.md)</small> | not editable |
| 1006 | Job Line Discount % | Decimal | Specifies the line discount percentage of the project ledger entry that is related to the purchase line. |  |
| 1007 | Job Line Disc. Amount (LCY) | Decimal | Project Line Disc. Amount (LCY) <small>caption</small> | not editable |
| 1008 | Job Unit Of Measure Code | Code[10] | Specifies the unit of measure code that is used to determine the unit price. This code specifies how the quantity is measured, for example, by the box or by the piece. The application retrieves this code from the corresponding item or resource card. | TableRelation [Table 204 "Unit of Measure"](../table/204.md) (Unit of Measure) |
| 1009 | Job Line Type | Enum "Job Line Type" | Specifies the type of planning line to create when a project ledger entry is posted. If the field is empty, no planning lines are created. | enum [Enum 1002 "Job Line Type"](../enum/1002.md) |
| 1010 | Job Unit Price | Decimal | Specifies the unit price for the selected account type and account number on the journal line. |  |
| 1011 | Job Total Price | Decimal | Specifies the total price for the journal line. The value is calculated as follows: Quantity x Unit Price (LCY). | not editable |
| 1012 | Job Unit Cost | Decimal | Specifies the project cost of one unit of the item or resource on the journal line. The value is calculated as follows: Project Total Cost (LCY) / Project Quantity. | not editable |
| 1013 | Job Total Cost | Decimal | Specifies if you have assigned a project number and a project task number to the journal line. It shows the amount excluding VAT divided by the project quantity for the journal line. The amount is shown in the currency specified for the project. The value field is calculated as follows: (Amount - VA... | not editable |
| 1014 | Job Line Discount Amount | Decimal | Specifies the line discount amount of the project ledger entry. |  |
| 1015 | Job Line Amount | Decimal | Specifies the line amount of the project ledger entry. |  |
| 1016 | Job Total Cost (LCY) | Decimal | Specifies the project total cost if you have assigned a project number and a project task number to the journal line. It shows the Amount (LCY) excluding VAT Amount (LCY)for the journal line. <small>via [Page 1020 "Job G/L Journal"](../page/1020.md)</small> | not editable |
| 1017 | Job Line Amount (LCY) | Decimal | Specifies the line amount of the project ledger entry. <small>via [Page 1020 "Job G/L Journal"](../page/1020.md)</small> | not editable |
| 1018 | Job Currency Factor | Decimal | Project Currency Factor <small>caption</small> |  |
| 1019 | Job Currency Code | Code[10] | Project Currency Code <small>caption</small> |  |
| 1020 | Job Planning Line No. | Integer | Specifies the project planning line number that the usage should be linked to when the project journal is posted. You can only link to project planning lines that have the Apply Usage Link option enabled. |  |
| 1030 | Job Remaining Qty. | Decimal | Specifies the quantity that remains to complete a project. |  |
| 1200 | Direct Debit Mandate ID | Code[35] | Specifies the identification of the direct-debit mandate that is being used on the journal lines to process a direct debit collection. | TableRelation [Table 1230 "SEPA Direct Debit Mandate"](../table/1230.md) (if ("Account Type" = const(Customer)) "SEPA Direct Debit Mandate" where("Customer No." = field("Account No."))) |
| 1220 | Data Exch. Entry No. | Integer | — | TableRelation [Table 1220 "Data Exch."](../table/1220.md) (Data Exch.); not editable |
| 1221 | Payer Information | Text[50] | Specifies payer information that is imported with the bank statement file. |  |
| 1222 | Transaction Information | Text[100] | Specifies transaction information that is imported with the bank statement file. |  |
| 1223 | Data Exch. Line No. | Integer | — | not editable |
| 1224 | Applied Automatically | Boolean | Specifies that the general journal line has been automatically applied with a matching payment using the Apply Automatically function. |  |
| 1300 | Linked Table ID | Integer | — | not editable |
| 1301 | Linked System ID | Guid | — | not editable |
| 1700 | Deferral Code | Code[10] | Specifies the deferral template that governs how expenses or revenue are deferred to the different accounting periods when the expenses or revenue were incurred. | TableRelation [Table 1700 "Deferral Template"](../table/1700.md) ("Deferral Template"."Deferral Code") |
| 1701 | Deferral Line No. | Integer | — |  |
| 2676 | Selected Alloc. Account No. | Code[20] | Specifies the allocation account number that will be used to distribute the amounts during the posting process. | TableRelation [Table 2670 "Allocation Account"](../table/2670.md) (Allocation Account) |
| 2677 | Alloc. Acc. Modified by User | Boolean | Allocation Account Distributions Modified <small>caption</small> | FlowField: exist(Microsoft.Finance.AllocationAccount."Alloc. Acc. Manual Override" where("Parent System Id" = field(SystemId), "Parent Table Id" = const(Database::"Gen. Journal Line"))) |
| 2678 | Allocation Account No. | Code[20] | Posting Allocation Account No. <small>caption</small> | TableRelation [Table 2670 "Allocation Account"](../table/2670.md) (Allocation Account) |
| 2679 | Alloc. Journal Line SystemId | Guid | Allocation Journal Line SystemId <small>caption</small> | DataClassification SystemMetadata |
| 5050 | Campaign No. | Code[20] | Specifies the number of the campaign that the journal line is linked to. | TableRelation [Table 5071 "Campaign"](../table/5071.md) |
| 5400 | Prod. Order No. | Code[20] | — | not editable |
| 5600 | FA Posting Date | Date | Specifies the posting date of the related fixed asset transaction, such as a depreciation. |  |
| 5601 | FA Posting Type | Enum "Gen. Journal Line FA Posting Type" | Specifies the posting type, if Account Type field contains Fixed Asset. | enum [Enum 5603 "Gen. Journal Line FA Posting Type"](../enum/5603.md) |
| 5602 | Depreciation Book Code | Code[10] | Specifies the code for the depreciation book to which the line will be posted if you have selected Fixed Asset in the Type field for this line. | TableRelation [Table 5611 "Depreciation Book"](../table/5611.md) (Depreciation Book) |
| 5603 | Salvage Value | Decimal | Specifies the estimated residual value of a fixed asset when it can no longer be used. |  |
| 5604 | No. of Depreciation Days | Integer | Specifies the number of depreciation days if you have selected the Depreciation or Custom 1 option in the FA Posting Type field. |  |
| 5605 | Depr. until FA Posting Date | Boolean | Specifies if depreciation should be calculated until the FA posting date of the line. |  |
| 5606 | Depr. Acquisition Cost | Boolean | Specifies if, when this line was posted, the additional acquisition cost posted on the line was depreciated in proportion to the amount by which the fixed asset had already been depreciated. |  |
| 5609 | Maintenance Code | Code[10] | Specifies a maintenance code. | TableRelation [Table 5626 "Maintenance"](../table/5626.md) |
| 5610 | Insurance No. | Code[20] | Specifies an insurance code if you have selected the Acquisition Cost option in the FA Posting Type field. | TableRelation [Table 5628 "Insurance"](../table/5628.md) |
| 5611 | Budgeted FA No. | Code[20] | Specifies the number of a fixed asset with the Budgeted Asset check box selected. When you post the journal or document line, an additional entry is created for the budgeted fixed asset where the amount has the opposite sign. | TableRelation [Table 5600 "Fixed Asset"](../table/5600.md) (Fixed Asset) |
| 5612 | Duplicate in Depreciation Book | Code[10] | Specifies a depreciation book code if you want the journal line to be posted to that depreciation book, as well as to the depreciation book in the Depreciation Book Code field. | TableRelation [Table 5611 "Depreciation Book"](../table/5611.md) (Depreciation Book) |
| 5613 | Use Duplication List | Boolean | Specifies whether the line is to be posted to all depreciation books, using different journal batches and with a check mark in the Part of Duplication List field. |  |
| 5614 | FA Reclassification Entry | Boolean | Specifies if the entry was generated from a fixed asset reclassification journal. |  |
| 5615 | FA Error Entry No. | Integer | Specifies the number of a posted FA ledger entry to mark as an error entry. | TableRelation [Table 5601 "FA Ledger Entry"](../table/5601.md) (FA Ledger Entry) |
| 5616 | Index Entry | Boolean | — |  |
| 5617 | Source Line No. | Integer | — |  |
| 5618 | Comment | Text[250] | Specifies a comment about the activity on the journal line. Note that the comment is not carried forward to posted entries. |  |
| 5701 | Check Exported | Boolean | — |  |
| 5702 | Check Transmitted | Boolean | — |  |
| 5703 | Reverse Date Calculation | DateFormula | Specifies posting date calculation formula for reverse recurring methods. |  |
| 6200 | Non-Deductible VAT % | Decimal | — | not editable |
| 6201 | Non-Deductible VAT Base | Decimal | — | not editable |
| 6202 | Non-Deductible VAT Amount | Decimal | — | not editable |
| 6203 | Non-Deductible VAT Base LCY | Decimal | — | not editable |
| 6204 | Non-Deductible VAT Amount LCY | Decimal | — | not editable |
| 6205 | Non-Deductible VAT Base ACY | Decimal | — | not editable |
| 6206 | Non-Deductible VAT Amount ACY | Decimal | — | not editable |
| 6207 | FA G/L Account No. | Code[20] | — | not editable |
| 6208 | Non-Deductible VAT Diff. | Decimal | Non-Deductible VAT Difference <small>caption</small> | not editable |
| 6209 | Bal. Non-Ded. VAT % | Decimal | Bal. Non-Deductible VAT % <small>caption</small> | not editable |
| 6210 | Bal. Non-Ded. VAT Base | Decimal | Bal. Non-Deductible VAT Base <small>caption</small> | not editable |
| 6211 | Bal. Non-Ded. VAT Amount | Decimal | Bal. Non-Deductible VAT Amount <small>caption</small> | not editable |
| 6212 | Bal. Non-Ded. VAT Base LCY | Decimal | Bal. Non-Deductible VAT Base LCY <small>caption</small> | not editable |
| 6213 | Bal. Non-Ded. VAT Amount LCY | Decimal | Bal. Non-Deductible VAT Amount LCY <small>caption</small> | not editable |
| 6230 | Non-Ded. VAT FA Cost | Boolean | — |  |
| 8001 | Account Id | Guid | — | TableRelation [Table 15 "G/L Account"](../table/15.md) ("G/L Account".SystemId) |
| 8002 | Customer Id | Guid | — | TableRelation Customer.SystemId |
| 8003 | Applies-to Invoice Id | Guid | — | TableRelation [Table 5475 "Sales Invoice Entity Aggregate"](../table/5475.md) ("Sales Invoice Entity Aggregate".Id) |
| 8004 | Contact Graph Id | Text[250] | — |  |
| 8005 | Last Modified DateTime | DateTime | — |  |
| 8006 | Journal Batch Id | Guid | — | TableRelation [Table 232 "Gen. Journal Batch"](../table/232.md) ("Gen. Journal Batch".SystemId) |
| 8007 | Payment Method Id | Guid | — | TableRelation [Table 289 "Payment Method"](../table/289.md) ("Payment Method".SystemId) |
| 8008 | Balance Account Id | Guid | — | TableRelation [Table 15 "G/L Account"](../table/15.md) ("G/L Account".SystemId) |
| 8009 | Vendor Id | Guid | — | TableRelation Vendor.SystemId |

## Keys

- Key1: Journal Template Name, Journal Batch Name, Line No. (clustered)
- Key2: Journal Template Name, Journal Batch Name, Posting Date, Document No.
- Key3: Account Type, Account No., Applies-to Doc. Type, Applies-to Doc. No.
- Key4: Document No.
- Key5: Incoming Document Entry No.
- Key6: Document No., Posting Date, Source Code
- Key7: Data Exch. Entry No.
- Key8: Journal Batch Name, Journal Template Name
- Key9: Source Code, Document No., Posting Date
- Key10: Bal. Account No., Bal. Account Type
- key11: Document No., Account No., Applies-to ID

## Events published

- `OnCheckGenJournalLinePostRestrictions()` (integration)
  - subscribers: [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) CustomerCheckGenJournalLinePostRestrictions, [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) GenJournalBatchCheckGenJournalLinePostRestrictions, [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) GenJournalLineCheckGenJournalLinePostRestrictions, [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) VendorCheckGenJournalLinePostRestrictions
- `OnCheckGenJournalLinePrintCheckRestrictions()` (integration)
  - subscribers: [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) GenJournalLineCheckGenJournalLinePrintCheckRestrictions
- `OnCheckGenJournalLineExportRestrictions()` (integration)
  - subscribers: [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) GenJournalLineCheckLineExportRestrictions
- `OnAccountNoOnValidateOnBeforeCreateDim(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before creating dimensions from the Default Dimensions during the validation of the "Account No." field. By subscribing to this event, developers can override the default dimension creation process for the "Account No." field.
- `OnAfterSetupNewLine(var GenJournalLine: Record "Gen. Journal Line"; GenJournalTemplate: Record "Gen. Journal Template"; GenJournalBatch: Record "Gen. Journal Batch"; LastGenJournalLine: Record "Gen. Journal Line"; Balance: Decimal; BottomLine: Boolean)` (integration): Event triggered after the setup of a new General Journal Line is complete. This event allows developers to add custom logic or adjustments after the setup of a new General Journal Line is finalized.
- `OnAfterSetDescriptionFromGLAcc(var GenJournalLine: Record "Gen. Journal Line"; GLAccount: Record "G/L Account")` (integration): Event triggered after setting the description from a G/L account for the general journal line. Subscribing to this event allows developers to extend the behavior after the description has been updated. This can be useful for implementing additional logic, logging, or further modifications to the des...
- `OnAfterClearCustApplnEntryFields(var CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after clearing customer application entry fields in the "Cust. Ledger Entry" record. This event allows developers to add custom logic after customer application entry fields have been cleared.
- `OnAfterClearEmplApplnEntryFields(var EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Event triggered after clearing employee application entry fields in the "Empl. Ledger Entry" record. This event allows developers to add custom logic after employee application entry fields have been cleared.
- `OnAfterClearVendApplnEntryFields(var VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after clearing vendor application entry fields in the "Vend. Ledger Entry" record. This event allows developers to add custom logic after vendor application entry fields have been cleared.
- `OnAfterCopyGenJnlLineFromCustLedgEntry(CustLedgerEntry: Record "Cust. Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from a customer ledger entry to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from customer ledger entries. This can be useful for implementing additional logic, validations, ...
- `OnAfterCopyGenJnlLineFromVendLedgEntry(VendLedgerEntry: Record "Vendor Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from a vendor ledger entry to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from vendor ledger entries. This can be useful for implementing additional logic, validations, or c...
- `OnAfterCopyGenJnlLineFromGenJnlAllocation(GenJnlAllocation: Record "Gen. Jnl. Allocation"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from a general journal allocation to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from general journal allocations. This can be useful for implementing additional logic, vali...
- `OnAfterCopyGenJnlLineFromSalesHeader(SalesHeader: Record "Sales Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from a sales header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from sales headers. This can be useful for implementing additional logic, validations, or custom handling ...
- `OnAfterCopyGenJnlLineFromSalesHeaderPrepmt(SalesHeader: Record "Sales Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying prepayment-related data from a sales header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring prepayment-related data from sales headers. This can be useful for implementing additional l...
- `OnAfterCopyGenJnlLineFromSalesHeaderPrepmtPost(SalesHeader: Record "Sales Header"; var GenJournalLine: Record "Gen. Journal Line"; UsePmtDisc: Boolean)` (integration): Event triggered after copying prepayment-related data for posting from a sales header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring prepayment-related data for posting from sales headers. This can be useful for i...
- `OnAfterCopyGenJnlLineFromSalesHeaderApplyTo(SalesHeader: Record "Sales Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying application-related data from a sales header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring application-related data from sales headers. This can be useful for implementing additional...
- `OnAfterCopyGenJnlLineFromSalesHeaderPayment(SalesHeader: Record "Sales Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying payment-related data from a sales header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring payment-related data from sales headers. This can be useful for implementing additional logic, ...
- `OnAfterCopyGenJnlLineFromPurchHeader(PurchaseHeader: Record "Purchase Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from a purchase header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from purchase headers. This can be useful for implementing additional logic, validations, or custom han...
  - subscribers: [Codeunit 4883 "EU3 Gen. Jnl. Subscribers"](../codeunit/4883.md) OnAfterCopyGenJnlLineFromPurchHeader
- `OnAfterCopyGenJnlLineFromPurchHeaderPrepmt(PurchaseHeader: Record "Purchase Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from a purchase header for prepayment to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring prepayment-related data from purchase headers. This can be useful for implementing additional...
  - subscribers: [Codeunit 4883 "EU3 Gen. Jnl. Subscribers"](../codeunit/4883.md) OnAfterCopyGenJnlLineFromPurchHeaderPrepmt
- `OnAfterCopyGenJnlLineFromPurchHeaderPrepmtPost(PurchaseHeader: Record "Purchase Header"; var GenJournalLine: Record "Gen. Journal Line"; UsePmtDisc: Boolean)` (integration): Event triggered after copying data from a purchase header for prepayment posting to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring prepayment-related data from purchase headers during posting. This can be useful for ...
- `OnAfterCopyGenJnlLineFromPurchHeaderApplyTo(PurchaseHeader: Record "Purchase Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from a purchase header for application purposes to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring application-related data from purchase headers. This can be useful for implementing...
- `OnAfterCopyGenJnlLineFromPurchHeaderPayment(PurchaseHeader: Record "Purchase Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying payment-related data from a purchase header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring payment-related data from purchase headers. This can be useful for implementing additional l...
- `OnAfterCopyGenJnlLineFromPrepmtInvBuffer(PrepmtInvLineBuffer: Record "Prepayment Inv. Line Buffer"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from a prepayment invoice line buffer to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from prepayment invoice line buffers. This can be useful for implementing additional log...
- `OnAfterCopyGenJnlLineFromPaymentCustLedgEntry(CustLedgEntry: Record "Cust. Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying payment-related data from a customer ledger entry to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring payment-related data from customer ledger entries. This can be useful for implementing...
- `OnAfterCopyGenJnlLineFromPaymentVendLedgEntry(VendLedgEntry: Record "Vendor Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying payment-related data from a vendor ledger entry to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring payment-related data from vendor ledger entries. This can be useful for implementing add...
- `OnAfterCopyGenJnlLineFromPaymentEmplLedgEntry(EmployeeLedgerEntry: Record "Employee Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying payment-related data from an employee ledger entry to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring payment-related data from employee ledger entries. This can be useful for implementin...
- `OnAfterImportBankStatement(var GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnAfterAccountNoOnValidateGetGLAccount(var GenJournalLine: Record "Gen. Journal Line"; var GLAccount: Record "G/L Account"; CallingFieldNo: Integer)` (integration): Event triggered after retrieving a G/L account in the context of the general journal line validation process. Subscribing to this event allows developers to override or extend the behavior when handling G/L account data. This can be useful for implementing additional logic, validations, or customiza...
  - subscribers: [Codeunit 4850 "AA Codes Posting Helper"](../codeunit/4850.md) OnAfterAccountNoOnValidateGetGLAccount, [Codeunit 6251 "Sust. Gen. Journal Subscriber"](../codeunit/6251.md) OnAfterAccountNoOnValidateGetGLAccount, [Codeunit 6786 "Withholding Tax Jnl Subscriber"](../codeunit/6786.md) AssignGLAccValue
- `OnAfterAccountNoOnValidateGetGLBalAccount(var GenJournalLine: Record "Gen. Journal Line"; var GLAccount: Record "G/L Account"; CallingFieldNo: Integer)` (integration): Event triggered after retrieving and setting up a balancing G/L account for the general journal line. Subscribing to this event allows developers to override or extend the default behavior when handling balancing G/L account data. This can be useful for implementing additional logic, validations, or...
  - subscribers: [Codeunit 6251 "Sust. Gen. Journal Subscriber"](../codeunit/6251.md) OnAfterAccountNoOnValidateGetGLBalAccount, [Codeunit 6786 "Withholding Tax Jnl Subscriber"](../codeunit/6786.md) AssignBalGLAccValue, [Codeunit 7056 "WHT Expense Category Mgt."](../codeunit/7056.md) OnAfterBalAccountNoValidateEmployee
- `OnAfterAccountNoOnValidateGetCustomerAccount(var GenJournalLine: Record "Gen. Journal Line"; var Customer: Record Customer; CallingFieldNo: Integer)` (integration): Event triggered after validating the customer account for the general journal line. Subscribing to this event allows developers to extend or customize the behavior after the customer account has been validated. This can be useful for implementing additional logic, logging, or further modifications b...
- `OnAfterAccountNoOnValidateGetCustomerBalAccount(var GenJournalLine: Record "Gen. Journal Line"; var Customer: Record Customer; CallingFieldNo: Integer)` (integration): Event triggered after validating the balancing customer account for the general journal line. Subscribing to this event allows developers to extend or customize the behavior after the balancing customer account has been validated. This can be useful for implementing additional logic, logging, or fur...
- `OnAfterAccountNoOnValidateGetVendorAccount(var GenJournalLine: Record "Gen. Journal Line"; var Vendor: Record Vendor; CallingFieldNo: Integer)` (integration): Event triggered after validating the vendor account for the general journal line. Subscribing to this event allows developers to extend or customize the behavior after the vendor account has been validated. This can be useful for implementing additional logic, logging, or further modifications based...
  - subscribers: [Codeunit 6786 "Withholding Tax Jnl Subscriber"](../codeunit/6786.md) AssignVendValue
- `OnAfterAccountNoOnValidateGetVendorBalAccount(var GenJournalLine: Record "Gen. Journal Line"; var Vendor: Record Vendor; CallingFieldNo: Integer)` (integration): Event triggered after retrieving a vendor record for the balancing account in the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing vendor account data for the balancing account. This can be useful for implementing additional logic,...
- `OnAfterAccountNoOnValidateGetEmployeeAccount(var GenJournalLine: Record "Gen. Journal Line"; var Employee: Record Employee)` (integration): Event triggered after retrieving an employee record for the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing employee account data. This can be useful for implementing additional logic, validations, or handling specific business ru...
  - subscribers: [Codeunit 6791 "Wthldg Tax Empl. Subscribers"](../codeunit/6791.md) OnAfterAccountNoValidateEmployee
- `OnAfterAccountNoOnValidateGetEmployeeBalAccount(var GenJournalLine: Record "Gen. Journal Line"; var Employee: Record Employee; CallingFieldNo: Integer)` (integration): Event triggered after retrieving an employee record for the balancing account in the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing employee account data for the balancing account. This can be useful for implementing additional l...
- `OnAfterAccountNoOnValidateGetBankAccount(var GenJournalLine: Record "Gen. Journal Line"; var BankAccount: Record "Bank Account"; CallingFieldNo: Integer)` (integration): Event triggered after retrieving a bank account record for the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing bank account data. This can be useful for implementing additional logic, validations, or handling specific business rul...
- `OnAfterAccountNoOnValidateGetBankBalAccount(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; var BankAccount: Record "Bank Account"; CallingFieldNo: Integer)` (integration): Event triggered after retrieving a bank account record for the balancing account in the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing bank account data for the balancing account. This can be useful for implementing additional lo...
- `OnAfterAccountNoOnValidateGetFAAccount(var GenJournalLine: Record "Gen. Journal Line"; var FixedAsset: Record "Fixed Asset"; CurrFieldNo: Integer)` (integration): Event triggered after retrieving a fixed asset record for the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing fixed asset data. This can be useful for implementing additional logic, validations, or handling specific business rules...
- `OnGetFAAccountOnBeforeFixedAssetTestField(GenJournalLine: Record "Gen. Journal Line"; var FixedAsset: Record "Fixed Asset"; var SkipFixedAssetTestFields: Boolean)` (integration): Event triggered before the fixed asset validation TestFields (Blocked, Inactive, Budgeted Asset) are executed in the GetFAAccount procedure. Subscribing to this event allows developers to skip the standard validation checks for specific scenarios or business rules.
- `OnAfterAccountNoOnValidateGetFABalAccount(var GenJournalLine: Record "Gen. Journal Line"; var FixedAsset: Record "Fixed Asset")` (integration): Event triggered after retrieving a fixed asset record for the balancing account in the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing fixed asset data for the balancing account. This can be useful for implementing additional logi...
- `OnGetFABalAccountOnBeforeFixedAssetTestField(GenJournalLine: Record "Gen. Journal Line"; var FixedAsset: Record "Fixed Asset"; var SkipFixedAssetTestFields: Boolean)` (integration): Event triggered before the fixed asset validation TestFields (Blocked, Inactive, Budgeted Asset) are executed in the GetFABalAccount procedure. Subscribing to this event allows developers to skip the standard validation checks for specific scenarios or business rules.
- `OnAfterAccountNoOnValidateGetICPartnerAccount(var GenJournalLine: Record "Gen. Journal Line"; var ICPartner: Record "IC Partner")` (integration): Event triggered after retrieving an intercompany partner record for the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing intercompany partner account data. This can be useful for implementing additional logic, validations, or handl...
- `OnAfterAccountNoOnValidateGetICPartnerBalAccount(var GenJournalLine: Record "Gen. Journal Line"; var ICPartner: Record "IC Partner")` (integration): Event triggered after retrieving an intercompany partner record for the balancing account in the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing intercompany partner data for the balancing account. This can be useful for implement...
- `OnAfterCreateTempJobJnlLine(var JobJournalLine: Record "Job Journal Line"; GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; CurrFieldNo: Integer)` (integration): Event triggered after the temporary Job Journal Line has been created. This event allows developers to add custom logic or modify the temporary Job Journal Line after it has been created.
- `OnAppliesToDocNoOnValidateOnAfterVendLedgEntrySetFilters(var GenJournalLine: Record "Gen. Journal Line"; var VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after setting filters for the Vendor Ledger Entry during the validation of the "Applies-to Doc. No." field. This event allows developers to adjust or add additional filters to the Vendor Ledger Entry record after the default filters have been set.
- `OnAppliesToDocNoOnValidateOnAfterCustLedgEntrySetFilters(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgerEntry: Record "Cust. Ledger Entry"; TempGenJnlLine: Record "Gen. Journal Line" temporary)` (integration): Event triggered after setting filters for the Customer Ledger Entry during the validation of the "Applies-to Doc. No." field. This event allows developers to adjust or add additional filters to the Customer Ledger Entry record after the default filters have been set.
- `OnAppliesToDocNoOnValidateOnBeforeDelPmtTolApllnDocNo(var GenJournalLine: Record "Gen. Journal Line"; SuppressCommit: Boolean)` (integration): Event triggered before calling PaymentToleranceMgt.DelPmtTolApllnDocNo during the validation of the "Applies-to Doc. No." field. This event allows developers to run additional checks and modify the Gen. Journal Line after ClearCustVendApplnEntry and before DelPmtTolApllnDocNo.
- `OnAppliesToDocNoOnValidateOnBeforeUpdAmtToEntries(var GenJournalLine: Record "Gen. Journal Line"; var TempGenJnlLine: Record "Gen. Journal Line")` (integration): Event triggered before updating amounts for ledger entries during the validation of the "Applies-to Doc. No." field. This event allows developers to add custom logic before the default updates to amounts are made for ledger entries.
- `OnAppliesToDocNoOnValidateOnAfterUpdAmtToEntries(var GenJournalLine: Record "Gen. Journal Line"; var TempGenJnlLine: Record "Gen. Journal Line")` (integration): Event triggered after updating amounts for ledger entries during the validation of the "Applies-to Doc. No." field. This event allows developers to add additional processing after amounts have been updated for the related ledger entries.
- `OnAppliesToDocNoOnValidateOnBeforeValidateApplyRequirements(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before validating apply requirements during the validation of the "Applies-to Doc. No." field. This event allows developers to add custom logic before the default apply requirements validation has been finished.
- `OnBeforeAssignJobCurrencyCode(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before assigning the Job Currency Code to the current record. This event allows developers to add custom logic or skip the default logic for assigning the Job Currency Code.
- `OnBeforeClearCustVendApplnEntry(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; AccType: Enum "Gen. Journal Account Type"; AccNo: Code[20])` (integration): Event triggered before clearing customer/vendor/employee application entries in the General Journal Line. This event allows developers to change the custom logic before the default logic for clearing customer/vendor/employees application entries has been executed.
- `OnBeforeCreateTempJobJnlLine(var JobJournalLine: Record "Job Journal Line"; GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; CurrFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before creating a temporary Job Journal Line. This event allows developers to implement custom logic or skip the default creation process for the temporary Job Journal Line.
- `OnBeforeDrillDownExportedAmount(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before the drill-down on the exported amount has been performed. Subscribing to this event allows developers to override or extend the default behavior when drilling down on the exported amount. This can be useful for implementing custom filtering, logging, or other specialized logic...
- `OnBeforeSetUpNewLine(var GenJournalTemplate: Record "Gen. Journal Template"; var GenJournalBatch: Record "Gen. Journal Batch"; var GenJournalLine: Record "Gen. Journal Line"; LastGenJournalLine: Record "Gen. Journal Line"; var GLSetupRead: Boolean; Balance: Decimal; BottomLine: Boolean; var IsHandled: Boolean; var Rec: Record "Gen. Journal Line")` (integration): Event triggered before setting up a new General Journal Line. This event allows developers to add custom logic or skip the default setup logic for a new General Journal Line.
- `OnAfterUpdatePricesFromJobJnlLine(var GenJournalLine: Record "Gen. Journal Line"; JobJournalLine: Record "Job Journal Line")` (integration): Event triggered after updating prices from the temporary Job Journal Line. This event allows developers to implement custom logic after the prices and costs have been updated from the temporary Job Journal Line to the current General Journal Line record.
- `OnAfterUpdateSalesPurchLCY(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after updating the "Sales/Purch. (LCY)" field in the Gen. Journal Line. This event allows developers to add custom calculations after the "Sales/Purch. (LCY)" value has been updated.
  - subscribers: [Codeunit 6251 "Sust. Gen. Journal Subscriber"](../codeunit/6251.md) OnAfterUpdateSalesPurchLCY
- `OnAfterCreateFAAcquisitionLines(var FAGenJournalLine: Record "Gen. Journal Line"; GenJournalLine: Record "Gen. Journal Line"; var BalancingGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after creating fixed asset acquisition lines in the general journal. Subscribing to this event allows developers to extend or customize the behavior when generating fixed asset acquisition lines and the corresponding balancing lines. This can be useful for implementing additional log...
- `OnAfterClearPostingGroups(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after clearing the posting group fields on the current record. This event allows developers to change custom logic after the posting groups have been reset.
  - subscribers: [Codeunit 6786 "Withholding Tax Jnl Subscriber"](../codeunit/6786.md) ClearPostingGroups
- `OnAfterClearBalPostingGroups(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after clearing the balance posting group fields on the current record. This event allows developers to change custom logic after the balance posting groups have been reset.
- `OnAfterGetAppliesToDocDueDate(var GenJournalLine: Record "Gen. Journal Line"; AccType: Enum "Gen. Journal Account Type"; AccNo: Code[20]; var Result: Date)` (integration): Event triggered after retrieving the "Due Date" of the related applied document. This event allows developers to add custom logic or override the retrieved due date.
- `OnAfterGetAppliesToDocPmtDiscountDate(var GenJournalLine: Record "Gen. Journal Line"; GenJournalAccountType: Enum "Gen. Journal Account Type"; GenJournalAccountNo: Code[20]; var Result: Date)` (integration): Event triggered after retrieving the "Pmt. Discount Date" of the related applied document. This event allows developers to add custom logic or override the retrieved payment discount date.
- `OnAfterGetAppliesToDocEntryNo(var GenJournalLine: Record "Gen. Journal Line"; AccType: Enum "Gen. Journal Account Type"; AccNo: Code[20]; var Result: Integer)` (integration): Event triggered after retrieving the "Entry No." based on the account type and account number. This event allows developers to add custom logic after retrieving the "Entry No.".
- `OnAfterGetCustLedgerEntry(var GenJournalLine: Record "Gen. Journal Line"; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after the Customer Ledger Entry has been retrieved and processed. This event allows developers to add custom logic to update the General Journal Line.
- `OnAfterGetDeferralAmount(var GenJournalLine: Record "Gen. Journal Line"; var DeferralAmount: Decimal)` (integration): Event triggered after calculating the deferral amount. Subscribing to this event allows developers to extend the behavior after the deferral amount has been determined. This can be useful for implementing custom logic, logging, or further adjustments to the calculated deferral amount.
- `OnAfterGetEmplLedgerEntry(var GenJournalLine: Record "Gen. Journal Line"; EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Event triggered after the Employee Ledger Entry has been fully retrieved and processed. This event allows developers to add custom logic to update the General Journal Line.
- `OnAfterGetFADeprBook(var GenJournalLine: Record "Gen. Journal Line"; FANo: Code[20])` (integration): Event triggered after retrieving the depreciation book for a fixed asset. This event allows developers to add custom logic after the depreciation book is retrieved.
- `OnAfterGetVATPostingSetup(var VATPostingSetup: Record "VAT Posting Setup")` (integration): Event triggered after retrieving the VAT Posting Setup record based on the provided VAT Business Posting Group and VAT Product Posting Group. This event allows developers to change the default logic after the VAT Posting Setup record has been retrieved or initialized.
- `OnAfterGetVendLedgerEntry(var GenJournalLine: Record "Gen. Journal Line"; VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after the Vendor Ledger Entry has been retrieved and processed. This event allows developers to add custom logic to update the General Journal Line.
- `OnAfterInitNewLine(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after initializing a new General Journal Line with the provided data. This event allows developers to add custom logic after the initialization of a new General Journal Line has been completed.
- `OnAfterSalesTaxCalculateCalculateTax(var GenJournalLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer)` (integration): Event triggered after calculating sales tax during the validation of the "VAT Base Amount" or "Bal. VAT Base Amount" fields. This event allows developers to add custom logic after the sales tax has been calculated.
- `OnAfterSalesTaxCalculateReverseCalculateTax(var GenJournalLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer)` (integration): Event triggered after the reverse calculation of sales tax during VAT calculation. Subscribing to this event allows developers to execute custom logic immediately after the reverse calculation of sales tax has been completed.
- `OnAfterSetApplyToAmount(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after the "Amount to Apply" has been set for the relevant ledger entry. This event allows developers to add custom logic after the "Amount to Apply" has been calculated.
- `OnAfterUpdateCountryCodeAndVATRegNo(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; No: Code[20])` (integration): Event triggered after updating the "Country/Region Code" and "VAT Registration No." fields. This event allows developers to add custom logic after the fields have been updated based on the No. provided.
- `OnAfterValidateAmount(var GenJnlLine: Record "Gen. Journal Line")` (integration): Event triggered after the "Amount" field has been validated in the General Journal Line. This event allows developers to change the calculations of General Journal Line fields.
- `OnAfterValidateApplyRequirements(TempGenJnlLine: Record "Gen. Journal Line" temporary)` (integration): Event triggered after validating requirements to apply for a General Journal Line. This event allows developers to add custom logic after the validation process for apply requirements has been completed.
- `OnAfterValidateShortcutDimCode(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; CallingFieldNo: Integer)` (integration): Event triggered after validating a shortcut dimension code in the General Journal Line. This event allows developers to add custom logic after the shortcut dimension code has been validated.
- `OnAfterCheckDirectPosting(var GLAccount: Record "G/L Account"; GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after checking the "Direct Posting" field on a G/L Account in the General Journal Line. This event allows developers to change the default logic after the "Direct Posting" field has been validated.
- `OnAfterSetAmountWithRemaining(var GenJournalLine: Record "Gen. Journal Line"; CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after setting the amount using the remaining values from a ledger entry. Subscribing to this event allows developers to override or extend the default behavior when setting the amount based on calculated payment discounts, amounts to apply, and remaining values. This can be useful fo...
- `OnAfterSetJournalLineFieldsFromApplication(var GenJournalLine: Record "Gen. Journal Line"; AccType: Enum "Gen. Journal Account Type"; AccNo: Code[20]; xGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after completing the processing of setting journal line fields from application data. This event allows developers to add additional logic after journal line fields have been set.
- `OnAfterUpdateDocumentTypeAndAppliesToFields(var GenJournalLine: Record "Gen. Journal Line"; DocType: Integer; DocNo: Code[20])` (integration): Event triggered after updating the "Applies-to Doc. Type" and "Applies-to Doc. No." fields in the general journal line. Subscribing to this event allows developers to extend or customize the behavior when these fields are updated. This can be useful for implementing additional logic, validations, or...
- `OnBeforeBlankJobNo(var GenJournalLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before clearing the "Job No." field in the General Journal Line. This event allows developers to add custom logic or skip the default validation process.
- `OnBeforeCheckAccountTypeOnJobValidation(var IsHandled: Boolean; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before validating the "Account Type" field in the General Journal Line. This event allows developers to change the default validation logic for the "Account Type" field.
- `OnBeforeCheckDirectPosting(var GLAccount: Record "G/L Account"; var IsHandled: Boolean; GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before checking the "Direct Posting" field on a G/L Account in the General Journal Line. This event allows developers to change the default logic for the "Direct Posting" field.
- `OnBeforeCheckDocNoOnLines(GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckIfPostingDateIsEarlier(GenJournalLine: Record "Gen. Journal Line"; ApplyPostingDate: Date; ApplyDocType: Option " ",Payment,Invoice,"Credit Memo","Finance Charge Memo",Reminder,Refund; ApplyDocNo: Code[20]; var IsHandled: Boolean; RecordVariant: Variant; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered prior to checking if the posting date of a general journal line is before the applied document's posting date. Subscribing to this event allows developers to override or extend the default behavior when validating posting dates. This can be useful for implementing additional logic, c...
- `OnBeforeCopyDimensionsFromJobTaskLine(TempJobJnlLine: Record "Job Journal Line" temporary; var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before copying dimensions from the job task line. Subscribing to this event allows developers to override or extend the default behavior when copying dimension information from the job journal line. This can be useful for implementing custom dimension handling, additional validations...
- `OnBeforeGetAccTypeAndNo(GenJournalLine2: Record "Gen. Journal Line"; var AccType: Enum "Gen. Journal Account Type"; var AccNo: Code[20]; var IsHandled: Boolean)` (integration): Event triggered before determining the Account Type and Account No. from a General Journal Line. This event allows developers to add custom logic or skip the default logic for setting account type and number.
- `OnBeforeGetDeferralPostDate(GenJournalLine: Record "Gen. Journal Line"; var DeferralPostDate: Date; var IsHandled: Boolean)` (integration): Event triggered before retrieving the deferral posting date. This event allows developers to implement custom logic or override the default procedure for determining the deferral posting date.
- `OnBeforeGetFADeprBook(var GenJournalLine: Record "Gen. Journal Line"; FANo: Code[20])` (integration): Event triggered before retrieving the depreciation book for a fixed asset. This event allows developers to implement custom logic before the process of setting the depreciation book code has begun.
- `OnBeforeGetVendLedgerEntry(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before retrieving the Vendor Ledger Entry. This event allows developers to add custom logic or skip the default logic for retrieving the Vendor Ledger Entry.
- `OnBeforeGetCustLedgerEntry(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before retrieving the Customer Ledger Entry. This event allows developers to implement custom logic or skip the default logic for retrieving the Customer Ledger Entry.
- `OnBeforeEmptyLine(GenJournalLine: Record "Gen. Journal Line"; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before determining if the General Journal Line is empty. This event allows developers to add custom logic or override the default logic used to determine if the line is empty.
- `OnBeforeIsCustVendICAdded(GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before determining if a Customer, Vendor, or IC Partner is added based on the General Journal Line. This event allows developers to add custom logic or skip the default logic for checking the addition of Customer, Vendor, or IC Partner.
- `OnBeforeIsAdHocDescription(GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before determining if the description is considered ad-hoc. This event allows developers to add custom logic or skip the default logic for identifying ad-hoc descriptions.
- `OnBeforeIsAdHocBalAccDescription(GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before determining if the balance account description is ad-hoc. This event allows developers to add custom logic or skip the default logic for determining ad-hoc balance account descriptions.
- `OnBeforeJobTaskIsSet(GenJournalLine: Record "Gen. Journal Line"; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before the job task has been set. This event allows developers to implement custom logic or override the default process.
- `OnBeforeLookUpAppliesToDocCust(var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20]; var IsHandled: Boolean)` (integration): Event triggered before the logic of the function LookUpAppliesToDocCust has been executed. This event allows developers to add custom logic before the standard lookup process has been executed.
- `OnBeforeLookUpAppliesToDocEmpl(var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20]; var IsHandled: Boolean)` (integration): Event triggered before the function LookUpAppliesToDocEmpl has been executed. This event allows developers to add custom logic or override the default lookup process for an Employee.
- `OnBeforeLookUpAppliesToDocVend(var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20]; var IsHandled: Boolean)` (integration): Event triggered before the function LookUpAppliesToDocVend has been executed. This event allows developers to add custom logic or completely override the default lookup process for a Vendor.
- `OnBeforeRenumberDocNoOnLines(var DocNo: Code[20]; var GenJnlLine2: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before renumbering document number on the General Journal Lines. This event allows developers to change the default logic for renumbering document number on General Journal Lines.
- `OnBeforeRenumberAppliesToID(GenJournalLine: Record "Gen. Journal Line"; OriginalAppliesToID: Code[50]; NewAppliesToID: Code[50]; AccountType: Enum "Gen. Journal Account Type"; AccountNo: Code[20])` (integration): Event triggered before renumbering the "Applies-to ID" field in the General Journal Line and related ledger entries. This event allows developers to add custom logic before the renumbering process has begun.
- `OnBeforeRunApplyCustEntriesPageLookupOk(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgEntry: Record "Cust. Ledger Entry"; AccNo: Code[20]; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before the "Apply Customer Entries" page has been opened in lookup mode. This event allows developers to add custom logic before opening the "Apply Customer Entries" page in lookup mode.
- `OnBeforeRunApplyVendEntriesPageLookupOk(var GenJournalLine: Record "Gen. Journal Line"; var VendLedgEntry: Record "Vendor Ledger Entry"; AccNo: Code[20]; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before running the "Apply Vendor Entries" page in lookup mode. This event allows developers to add custom logic or override the function before the "Apply Vendor Entries" page has been opened in lookup mode.
- `OnBeforeTotalExportedAmount(var GenJournalLine: Record "Gen. Journal Line"; var Result: Decimal; var IsHandled: Boolean)` (integration): Event triggered before calculating the total transfer amount. This event allows developers to add custom logic or skip the default logic for calculating the total transfer amount.
- `OnBeforeSetAmountWithCustLedgEntry(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered before setting the amount with a customer ledger entry. Subscribing to this event allows developers to override or extend the default behavior when initializing the process of setting the amount with a customer ledger entry. This can be useful for implementing custom logic or validat...
- `OnBeforeSetAmountWithVendLedgEntry(var GenJournalLine: Record "Gen. Journal Line"; var VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered before setting the amount with a vendor ledger entry. Subscribing to this event allows developers to override or extend the default behavior when initializing the process of setting the amount with a vendor ledger entry. This can be useful for implementing custom logic or validations...
- `OnBeforeSetApplyToAmount(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before setting the "Amount to Apply" for a Ledger Entry. This event allows developers to add custom logic before the process of setting the "Amount to Apply" has begun.
- `OnLookUpAppliesToDocCustOnAfterSetFilters(var CustLedgerEntry: Record "Cust. Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20])` (integration): Event triggered after setting all filters on the Customer Ledger Entry during the lookup process. This event allows developers to add filtering or validations after the Customer Ledger Entry filters have been applied.
- `OnBeforeUpdateAmountsOnTempJobJnlLine(GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; TempJobJournalLine: Record "Job Journal Line" temporary; var IsHandled: Boolean)` (integration): Event triggered before updating amounts on the temporary Job Journal Line. This event allows developers to add custom logic or skip the default process for updating amounts on the temporary Job Journal Line.
- `OnBeforeUpdateApplyToAmount(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before updating the "Applies-to Amount" in the General Journal Line. This event allows developers to add custom logic or skip the default update process for the "Applies-to Amount" field.
- `OnBeforeUpdateCountryCodeAndVATRegNo(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; No: Code[20])` (integration): Event triggered before updating the "Country/Region Code" and "VAT Registration No." fields. This event allows developers to add custom logic or override the default process before the fields have been updated.
- `OnBeforeValidateAmountLCY(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before the validation of the "Amount (LCY)" field. This event allows developers to add custom logic or override the default validation process by setting the IsHandled variable to true.
- `OnBeforeValidateCampaignNo(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before validating the "Campaign No." field in the General Journal Line. This event allows developers to add custom logic or skip the default validation process for the "Campaign No." field.
- `OnBeforeValidateApplyRequirements(var TempGenJournalLine: Record "Gen. Journal Line" temporary; var IsHandled: Boolean)` (integration): Event triggered before validating application requirements for a General Journal Line. This event allows developers to add custom logic or override the default validation process for the application.
- `OnBeforeValidateBalGenBusPostingGroup(var GenJournalLine: Record "Gen. Journal Line"; var CheckIfFieldIsEmpty: Boolean)` (integration): Event triggered before validating the "Bal. Gen. Bus. Posting Group" field in the General Journal Line. This event allows developers to add custom logic or modify the condition for checking if the "Bal. Gen. Bus. Posting Group" field is empty.
- `OnBeforeValidateBalGenPostingType(var GenJournalLine: Record "Gen. Journal Line"; var CheckIfFieldIsEmpty: Boolean)` (integration): Event triggered before validating the "Bal. Gen. Posting Type" field in the General Journal Line. This event allows developers to add custom logic or modify the condition for checking if the "Bal. Gen. Posting Type" field is empty.
- `OnBeforeValidateBalGenProdPostingGroup(var GenJournalLine: Record "Gen. Journal Line"; var CheckIfFieldIsEmpty: Boolean)` (integration): Event triggered before validating the "Bal. Gen. Prod. Posting Group" field in the General Journal Line. This event allows developers to add custom logic or modify the condition for checking if the "Bal. Gen. Prod. Posting Group" field is empty.
- `OnBeforeValidateCurrencyCode(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before validating the currency code on the General Journal Line. This event allows developers to add custom logic or override the default currency code validation logic.
- `OnBeforeValidateDeferralCode(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before validating the "Deferral Code" field in the General Journal Line. This event allows developers to add custom logic or completely skip the default validation process for the "Deferral Code" field.
- `OnBeforeValidateDocumentDateFromPostingDate(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before validating the Document Date from the Posting Date on the General Journal Line. This event allows developers to add custom logic or override the default validation logic for the Document Date based on the Posting Date.
- `OnBeforeValidateVATProdPostingGroup(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before validating the "VAT Prod. Posting Group" field in the General Journal Line. This event allows developers to add custom logic or completely skip the default validation logic for the "VAT Prod. Posting Group" field.
- `OnBeforeValidateGenBusPostingGroup(var GenJournalLine: Record "Gen. Journal Line"; var CheckIfFieldIsEmpty: Boolean)` (integration): Event triggered before validating the "Gen. Bus. Posting Group" field in the General Journal Line. This event allows developers to add custom logic or modify the condition for checking if the "Gen. Bus. Posting Group" field is empty.
- `OnBeforeValidateGenPostingType(var GenJournalLine: Record "Gen. Journal Line"; var CheckIfFieldIsEmpty: Boolean)` (integration): Event triggered before validating the "Gen. Posting Type" field in the General Journal Line. This event allows developers to add custom logic or modify the condition for checking if the "Gen. Posting Type" field is empty.
- `OnBeforeValidateGenProdPostingGroup(var GenJournalLine: Record "Gen. Journal Line"; var CheckIfFieldIsEmpty: Boolean)` (integration): Event triggered before validating the "Gen. Prod. Posting Group" field in the General Journal Line. This event allows developers to add custom logic or modify the condition for checking if the "Gen. Prod. Posting Group" field is empty.
- `OnBeforeValidateShortcutDimCode(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean)` (integration): Event triggered before validating a shortcut dimension code in the General Journal Line. This event allows developers to change the default logic for shortcut dimension code validation.
- `OnCreateTempJobJnlLineOnBeforeFindJobCurrencyFactor(var GenJournalLine: Record "Gen. Journal Line"; var CurrExchRate: Record "Currency Exchange Rate")` (integration): Event triggered before finding the Job Currency Factor during the creation of a temporary Job Journal Line. This event allows developers to customize the logic for retrieving the Job Currency Factor.
- `OnCreateTempJobJnlLimeOnBeforeValidateFields(var TempJobJnlLine: Record "Job Journal Line"; var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; FieldNumber: Integer)` (integration): Event triggered before validating fields during the creation of a temporary Job Journal Line. This event allows developers to add custom logic before field validations have been executed.
- `OnExportPaymentFileOnAfterRunExport(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after running the payment export process. This event allows developers to change custom logic after the export has been completed.
- `OnExportPaymentFileOnBeforeRunExport(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before running the payment export process. This event allows developers to execute custom logic or modify parameters before the export codeunit has been run.
- `OnExportPaymentFileOnBeforeCheckDocNoOnLines(GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before checking document numbers on journal lines during the payment file export process. This event allows developers to add custom validation logic or skip the default document number checks.
- `OnFindFirstCustLedgEntryWithAppliesToIDOnAfterSetFilters(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after setting filters for finding the first Customer Ledger Entry with the specified "Applies-to ID" and "Customer No." This event allows developers to add custom logic or modify the applied filters before retrieving the record.
- `OnFindFirstVendLedgEntryWithAppliesToIDOnAfterSetFilters(var GenJournalLine: Record "Gen. Journal Line"; var VendLedgEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after setting filters for finding the first Vendor Ledger Entry with the specified "Applies-to ID" and "Vendor No.". This event allows developers to add custom logic or modify the applied filters before retrieving the record.
- `OnFindFirstCustLedgEntryWithAppliesToDocNoOnAfterSetFilters(var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20]; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after setting filters for finding the first Customer Ledger Entry with the specified "Applies-to Doc. No.", "Applies-to Doc. Type" and "Customer No." This event allows developers to add custom logic or modify the applied filters before retrieving the record.
- `OnFindFirstVendLedgEntryWithAppliesToDocNoOnAfterSetFilters(var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20]; var VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after setting filters for finding the first Vendor Ledger Entry with the specified "Applies-to Doc. No." This event allows developers to add custom logic or modify the applied filters before retrieving the record.
- `OnGetFAVATSetupOnBeforeCheckGLAcc(var GenJournalLine: Record "Gen. Journal Line"; var GLAccount: Record "G/L Account")` (integration): Event triggered before G/L Account check and its values transfer to General Journal Line. This event allows developers to add custom logic or modifications before the G/L Account has been checked in the General Journal Line.
- `OnGetCustLedgerEntryOnAfterAssignCustomerNo(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after assigning the "Customer No." from the Customer Ledger Entry to the General Journal Line. This event allows developers to add custom logic after the "Customer No." has been assigned to the General Journal Line.
- `OnGetVendLedgerEntryOnAfterAssignVendorNo(var GenJournalLine: Record "Gen. Journal Line"; var VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after assigning the "Vendor No." from the Vendor Ledger Entry to the General Journal Line. This event allows developers to add custom logic after the "Vendor No." has been assigned to the General Journal Line.
- `OnLookUpAppliesToDocCustOnAfterUpdateDocumentTypeAndAppliesTo(var GenJournalLine: Record "Gen. Journal Line"; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after updating the "Document Type" and "Applies-to Doc. No." fields during the lookup process. This event allows developers to add custom logic after the "Document Type" and "Applies-to Doc. No." fields have been set.
- `OnLookUpAppliesToDocCustOnAfterApplyCustEntriesGetRecord(var GenJournalLine: Record "Gen. Journal Line"; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after a Customer Ledger Entry record has been selected in the "Apply Customer Entries" page. This event allows developers to add custom logic to the Customer Ledger Entry after it has been selected from the page.
- `OnLookUpAppliesToDocEmplOnAfterSetFilters(var EmployeeLedgerEntry: Record "Employee Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after all filters have been set on the Employee Ledger Entry during the lookup process. This event allows developers to add additional filters or validations after the Employee Ledger Entry filters have been applied.
- `OnLookUpAppliesToDocEmplOnAfterUpdateDocumentTypeAndAppliesTo(var GenJournalLine: Record "Gen. Journal Line"; EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Event triggered after updating the "Applies-to Doc. Type" and "Applies-to Doc. No." fields during the lookup process. This event allows developers to add custom logic or modifications after the "Applies-to Doc. Type" and "Applies-to Doc. No." fields have been set.
- `OnLookUpAppliesToDocVendOnAfterSetFilters(var VendorLedgerEntry: Record "Vendor Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20])` (integration): Event triggered after all filters have been set on the Vendor Ledger Entry during the lookup process. This event allows developers to add additional filters or validations after the Vendor Ledger Entry filters have been applied.
- `OnLookUpAppliesToDocVendOnAfterUpdateDocumentTypeAndAppliesTo(var GenJournalLine: Record "Gen. Journal Line"; VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after updating the "Document Type" and "Applies-to Doc. No." fields during the lookup process. This event allows developers to add additional logic or modifications after the "Document Type" and "Applies-to Doc. No." fields have been set.
- `OnModifyOnBeforeTestCheckPrinted(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before evaluating the "Check Printed" field during the modification of the General Journal Line. This event allows developers to add custom logic or skip the default check for the "Check Printed" field.
- `OnRenumberAppliesToIDOnAfterCustLedgEntrySetFilters(var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20]; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after setting filters on the "Customer Ledger Entry" record during the renumbering of "Applies-to ID". This event allows developers to modify or extend the filters applied to the "Customer Ledger Entry" record.
- `OnRenumberAppliesToIDOnAfterVendLedgEntrySetFilters(var GenJournalLine: Record "Gen. Journal Line"; AccNo: Code[20]; var VendLedgEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after setting filters on the "Vendor Ledger Entry" record during the renumbering of "Applies-to ID". This event allows developers to modify or extend the filters applied to the "Vendor Ledger Entry" record.
- `OnSetApplyToAmountOnAfterCustLedgEntrySetFilters(GenJournalLine: Record "Gen. Journal Line"; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after applying filters to the Customer Ledger Entry during the "Amount to Apply" setting process. This event allows developers to add or modify filters after they have been applied to the Customer Ledger Entry record.
- `OnSetApplyToAmountOnAfterVendLedgEntrySetFilters(GenJournalLine: Record "Gen. Journal Line"; var VendLedgEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after applying filters to the Vendor Ledger Entry during the "Amount to Apply" setting process. This event allows developers to add or modify filters after they have been applied to the Vendor Ledger Entry record.
- `OnSetApplyToAmountOnBeforeCustEntryEdit(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered before modifying a Customer Ledger Entry record to set the "Amount to Apply". This event allows developers to add custom logic before the edit process has begun.
- `OnSetApplyToAmountOnBeforeVendEntryEdit(var GenJournalLine: Record "Gen. Journal Line"; var VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered before editing a Vendor Ledger Entry record to set the "Amount to Apply". This event allows developers to add custom logic before the edit process has begun.
- `OnSetApplyToAmountOnBeforeEmplEntryEdit(var GenJournalLine: Record "Gen. Journal Line"; var EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Event triggered before editing an Employee Ledger Entry record to set the "Amount to Apply". This event allows developers to add custom logic before the edit process has begun.
- `OnSetUpNewLineOnBeforeIncrDocNo(var GenJournalLine: Record "Gen. Journal Line"; LastGenJournalLine: Record "Gen. Journal Line"; var Balance: Decimal; var BottomLine: Boolean; var IsHandled: Boolean; var Rec: Record "Gen. Journal Line"; GenJnlBatch: Record "Gen. Journal Batch")` (integration): Event triggered before incrementing the "Document No." during the setup of a new General Journal Line. This event allows developers to customize or skip the logic for generating the next document number.
- `OnSetUpNewLineOnBeforeSetDocumentNo(var GenJournalLine: Record "Gen. Journal Line"; LastGenJournalLine: Record "Gen. Journal Line"; var Balance: Decimal; var BottomLine: Boolean; var IsHandled: Boolean; var Rec: Record "Gen. Journal Line")` (integration): Event triggered before setting the "Document No." for a new General Journal Line. This event allows developers to customize or skip the logic for setting the document number.
- `OnSetUpNewLineOnBeforeSetBalAccount(var GenJournalLine: Record "Gen. Journal Line"; LastGenJournalLine: Record "Gen. Journal Line"; var Balance: Decimal; var IsHandled: Boolean; GenJnlTemplate: Record "Gen. Journal Template"; GenJnlBatch: Record "Gen. Journal Batch"; BottomLine: Boolean; var Rec: Record "Gen. Journal Line"; CurrentFieldNo: Integer)` (integration): Event triggered before setting the balancing account fields during the setup of a new General Journal Line. This event allows developers to customize or skip the logic for setting balancing account fields.
- `OnSetJournalLineFieldsFromApplicationOnAfterFindFirstCustLedgEntryWithAppliesToID(var GenJournalLine: Record "Gen. Journal Line"; CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after finding the first Customer Ledger Entry using the "Applies-to ID". This event allows developers to add custom logic after a Customer Ledger Entry has been successfully retrieved by "Applies-to ID".
- `OnSetJournalLineFieldsFromApplicationOnAfterFindFirstCustLedgEntryWithAppliesToDocNo(var GenJournalLine: Record "Gen. Journal Line"; CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after finding the first Customer Ledger Entry using the "Applies-to Doc. No.". This event allows developers to add custom logic after a Customer Ledger Entry has been successfully retrieved by "Applies-to Doc. No.".
- `OnSetJournalLineFieldsFromApplicationOnAfterFindFirstVendLedgEntryWithAppliesToID(var GenJournalLine: Record "Gen. Journal Line"; VendLedgEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after finding the first Vendor Ledger Entry using the "Applies-to ID". This event allows developers to add custom logic after a Vendor Ledger Entry has been successfully retrieved by "Applies-to ID".
- `OnSetJournalLineFieldsFromApplicationOnAfterFindFirstVendLedgEntryWithAppliesToDocNo(var GenJournalLine: Record "Gen. Journal Line"; VendLedgEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after finding the first Vendor Ledger Entry using the "Applies-to Doc. No.". This event allows developers to add custom logic after a Vendor Ledger Entry has been successfully retrieved by "Applies-to Doc. No.".
- `OnSetJournalLineFieldsFromApplicationOnAfterFindFirstEmplLedgEntryWithAppliesToID(var GenJournalLine: Record "Gen. Journal Line"; CustLedgEntry: Record "Employee Ledger Entry")` (integration): Event triggered after finding the first Employee Ledger Entry using the "Applies-to ID". This event allows developers to add custom logic after an Employee Ledger Entry has been successfully retrieved by "Applies-to ID".
- `OnUpdateLineBalanceOnAfterAssignBalanceLCY(var BalanceLCY: Decimal; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after assigning the "Balance (LCY)" field during the update of line balance. This event allows developers to change default logic of the Line Balance calculation.
- `OnValidateAmountOnAfterAssignAmountLCY(var AmountLCY: Decimal)` (integration): Event triggered after the "Amount (LCY)" field has been calculated. This event allows developers to add custom logic or adjustments after the "Amount (LCY)" field has been updated.
- `OnValidateAmountOnBeforeCheckCreditLimit(var GenJournalLine: Record "Gen. Journal Line"; FieldNumber: Integer; CustCheckCrLimit: Codeunit "Cust-Check Cr. Limit"; var IsHandled: Boolean)` (integration): Event triggered before checking the customer's credit limit during the amount validation. This event allows developers to change the default logic for checking customer credit limit.
- `OnValidateBalVATPctOnAfterAssignBalVATAmountLCY(var BalVATAmountLCY: Decimal)` (integration): Event triggered after calculation of the "Bal. VAT Amount (LCY)" field during the validation of the "Bal. VAT %" field. This event allows developers to add custom logic after the "Bal. VAT Amount (LCY)" field has been updated based on the calculated VAT.
- `OnValidatePaymentTermsCodeOnBeforeCalculateDueDate(var GenJournalLine: Record "Gen. Journal Line"; PaymentTerms: Record "Payment Terms"; var IsHandled: Boolean)` (integration): Event triggered before calculating the "Due Date" based on the payment terms during the validation of the "Payment Terms Code" field. This event allows developers to add custom logic or override the default calculation for the "Due Date".
- `OnValidatePaymentTermsCodeOnBeforeCalculatePmtDiscountDate(var GenJournalLine: Record "Gen. Journal Line"; PaymentTerms: Record "Payment Terms"; var IsHandled: Boolean)` (integration): Event triggered before calculating the "Pmt. Discount Date" based on the payment terms during the validation of the "Payment Terms Code" field. This event allows developers to add custom logic or override the default calculation for the "Pmt. Discount Date".
- `OnValidateBalVATBaseAmountOnBeforeValidateAmount(var GenJournalLine: Record "Gen. Journal Line"; Currency: Record Currency)` (integration): Event triggered before validating the "Amount" field during the validation of the "Bal. VAT Base Amount" field. This event allows developers to add custom logic before the "Amount" field has been validated.
- `OnValidateVATBaseAmountOnBeforeValidateAmount(var GenJournalLine: Record "Gen. Journal Line"; Currency: Record Currency)` (integration): Event triggered before validating the "Amount" field during the validation of the "VAT Base Amount" field. This event allows developers to add custom logic or modify the General Journal Line before the "Amount" field has been validated.
- `OnValidateVATPctOnBeforeUpdateSalesPurchLCY(var GenJournalLine: Record "Gen. Journal Line"; Currency: Record Currency)` (integration): This event is triggered before updating sales and purchase amounts in LCY during the validation of the VAT or Balance VAT percentage. Subscribing to this event allows developers to create custom logic for updating sales and purchase amounts in LCY based on the VAT percentage and related fields.
- `OnValidateVATProdPostingGroupOnBeforeVATCalculationCheck(var GenJournalLine: Record "Gen. Journal Line"; var VATPostingSetup: Record "VAT Posting Setup"; var IsHandled: Boolean)` (integration): Event triggered before performing VAT calculation based on VAT Posting Setup and checks of the "VAT Prod. Posting Group" field. This event allows developers to modify the VAT calculation and check process.
- `OnValidateAccountNoOnAfterAssignValue(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after assigning the "Account Type" related data retrieved during the validation of the "Account No." field.
- `OnValidateAccountNoOnBeforeAssignValue(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before retrieving data based on the value of the field "Account Type" during the validation of the "Account No." field. Subscribing to this event allows developers to add custom logic before related "Account Type" data has been retrieved.
- `OnValidateAccountTypeOnBeforeCheckKeepDescription(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer)` (integration): Event triggered before checking the "Keep Description" field during the validation of the field "Account Type". This event allows developers to implement custom logic before the "Keep Description" field has been validated.
- `OnValidateApplyRequirementsOnAfterCustLedgEntrySetFiltersWithAppliesToID(TempGenJnlLine: Record "Gen. Journal Line" temporary; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after setting filters on the Customer Ledger Entry when "Applies-to ID" has been specified. This event allows developers to add or modify filters after they have been applied to the Customer Ledger Entry.
- `OnValidateApplyRequirementsOnAfterCustLedgEntrySetFiltersWithoutAppliesToID(TempGenJnlLine: Record "Gen. Journal Line" temporary; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after setting filters on the Customer Ledger Entry when "Applies-to ID" has not been specified. This event allows developers to add or modify filters after they have been applied to the Customer Ledger Entry record when "Applies-to Doc. No." has been used.
- `OnValidateApplyRequirementsOnAfterVendLedgEntrySetFiltersWithAppliesToID(TempGenJournalLine: Record "Gen. Journal Line" temporary; var VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after setting filters on the Vendor Ledger Entry when "Applies-to ID" has been specified. This event allows developers to add or modify filters after they have been set to the Vendor Ledger Entry.
- `OnValidateApplyRequirementsOnAfterVendLedgEntrySetFiltersWithoutAppliesToID(TempGenJournalLine: Record "Gen. Journal Line" temporary; var VendorLedgerEntry: Record "Vendor Ledger Entry")` (integration): Event triggered after setting filters on the Vendor Ledger Entry when "Applies-to Doc. No." has not been specified. This event allows developers to add or modify filters after they have been applied to the Vendor Ledger Entry record when "Applies-to Doc. No." has been used.
- `OnValidateBalAccountNoOnAfterAssignValue(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after assigning values to the record based on the "Bal. Account Type" field value during the "Bal. Account No." field validation. Subscribing to this event allows developers to add custom logic after the standard validation process has been executed based on the "Bal. Account Type" f...
- `OnValidateBalAccountNoOnBeforeAssignValue(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before assigning values to the record based on the "Bal. Account Type" field value during the "Bal. Account No." field validation. Subscribing to this event allows developers to add custom logic before the standard validation process has been executed based on the "Bal. Account Type"...
- `OnGenJnlLineGetVendorAccount(Vendor: Record Vendor)` (integration): Event triggered after retrieving a vendor record for the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing vendor account data. This can be useful for implementing additional logic, validations, or handling specific business rules r...
- `OnAfterInitDefaultDimensionSources(var GenJournalLine: Record "Gen. Journal Line"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FromFieldNo: Integer)` (integration): Event triggered after initializing default dimension sources for the general journal line. Subscribing to this event allows developers to extend or customize the behavior when setting up default dimension sources. This can be useful for implementing additional logic, custom dimension sources, or han...
- `OnAfterCleanLine(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after performing the update of the current journal line. This event allows developers to change custom logic after the journal line has been cleaned.
  - subscribers: [Codeunit 6251 "Sust. Gen. Journal Subscriber"](../codeunit/6251.md) OnAfterCleanLine
- `OnAfterClearCustVendApplnEntry(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; AccType: Enum "Gen. Journal Account Type"; AccNo: Code[20])` (integration): Event triggered after clearing customer/vendor/employee application entries in the General Journal Line. This event allows developers to change the default logic after the standard clearing process for customer/vendor/employee application entries has been completed.
- `OnAfterCopyFromIssuedFinChargeMemoHeader(IssuedFinChargeMemoHeader: Record "Issued Fin. Charge Memo Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from an issued finance charge memo header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from issued finance charge memo headers. This can be useful for implementing additio...
- `OnAfterCopyFromIssuedReminderHeader(IssuedReminderHeader: Record "Issued Reminder Header"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after copying data from an issued reminder header to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from issued reminder headers. This can be useful for implementing additional logic, validations...
- `OnGetCustLedgerEntryOnAfterSetFilters(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered after filters have been set on the Customer Ledger Entry. This event allows developers to add or modify filters after they have been applied to the Customer Ledger Entry.
- `OnAfterRenumberAppliesToID(GenJournalLine: Record "Gen. Journal Line"; OriginalAppliesToID: Code[50]; NewAppliesToID: Code[50]; AccountType: Enum "Gen. Journal Account Type"; AccountNo: Code[20])` (integration): Event triggered after renumbering the "Applies-to ID" field in the General Journal Line and related ledger entries. This event allows developers to add custom logic after the renumbering process has been completed.
- `OnAfterReplaceDescription(GenJnlBatch: Record "Gen. Journal Batch"; var Result: Boolean)` (integration): Event triggered after evaluating whether the description should be replaced in the journal line. This event allows developers to add the custom logic after the default description check has been completed.
- `OnAfterRenumberDocNoOnLines(var DocNo: Code[20]; var GenJnlLine2: Record "Gen. Journal Line")` (integration): Event triggered after the renumbering of "Document No." on General Journal Lines has been completed. This event allows developers to add custom logic after the renumbering process has been finished.
- `OnAppliesToDocNoValidateOnAfterEmplLedgEntrySetFilters(var GenJournalLine: Record "Gen. Journal Line"; var EmplLedgerEntry: Record "Employee Ledger Entry")` (integration): Event triggered after setting filters for the Employee Ledger Entry during the validation of the "Applies-to Doc. No." field. This event allows developers to adjust or add additional filters to the Employee Ledger Entry record after the default filters have been set.
- `OnBeforeGetDeferralAmount(var GenJournalLine: Record "Gen. Journal Line"; var DeferralAmount: Decimal; var IsHandled: Boolean)` (integration): Event triggered before calculating the deferral amount. Subscribing to this event allows developers to override or extend the default behavior when determining the deferral amount. This can be useful for implementing custom logic or validations before the deferral amount has been calculated.
- `OnBeforeGetAppliesToDocCustLedgEntry(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgEntry: Record "Cust. Ledger Entry"; AccNo: Code[20]; var IsHandled: Boolean)` (integration): Event triggered before retrieving the Customer Ledger Entry based on the related applied document. This event allows developers to add custom logic or skip the default logic for retrieving Customer Ledger Entries.
- `OnBeforeIsApplied(var GenJournalLine: Record "Gen. Journal Line"; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before determining if the General Journal Line has been applied. This event allows developers to implement custom logic or override the default behavior for determining if the line has been applied.
- `OnBeforeOnDelete(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before executing the deletion logic for the General Journal Line. This event allows developers to add custom logic or skip the default deletion process for the General Journal Line.
- `OnBeforeUpdateSource(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before updating the "Source Type" and "Source No." fields in the General Journal Line. This event allows developers to change the default logic for updating the "Source Type" and "Source No." fields.
- `OnBeforeShowDeferrals(GenJournalLine: Record "Gen. Journal Line"; var ReturnValue: Boolean; var IsHandled: Boolean)` (integration): Event triggered before displaying the deferral schedule. Subscribing to this event allows developers to override or extend the default behavior when showing deferrals. This can be useful for implementing custom logic, validations, or alternate workflows before the deferral schedule has been displaye...
- `OnAfterUpdateSource(var GenJournalLine: Record "Gen. Journal Line"; CurrFieldNo: Integer)` (integration): Event triggered after modifying the "Source Type" and "Source No." fields in the General Journal Line. This event allows developers to add custom logic after the "Source Type" and "Source No." fields have been modified.
- `OnAfterCopyFromIssuedReminderLine(var GenJournalLine: Record "Gen. Journal Line"; IssuedReminderLine: Record "Issued Reminder Line")` (integration): Event triggered after copying data from an issued reminder line to the general journal line. Subscribing to this event allows developers to override or extend the default behavior when transferring data from issued reminder lines. This can be useful for implementing additional logic, validations, or...
- `OnAfterCreateDim(var GenJournalLine: Record "Gen. Journal Line"; CurrFieldNo: Integer; xGenJournalLine: Record "Gen. Journal Line"; OldDimSetID: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])` (integration): Event triggered after creating dimensions for the General Journal Line. This event allows developers to add custom logic after dimensions have been created.
- `OnAfterShowDimensions(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; OldDimSetID: Integer; var IsChanged: Boolean)` (integration): Event triggered after the dimensions have been edited in the General Journal Line. This event allows developers to perform additional actions after the dimension editing process has been completed, including checking if changes occurred.
- `OnBeforeShowDimensions(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before showing and editing dimensions in the General Journal Line. This event allows developers to change the custom logic of this function.
  - subscribers: [Codeunit 2677 "Gen. Journal Alloc. Acc. Mgt."](../codeunit/2677.md) HandleShowDimensions
- `OnBeforeLookupShortcutDimCode(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean)` (integration): Event triggered before the lookup on a shortcut dimension code in the General Journal Line. This event allows developers to add custom logic or skip the default lookup process for the shortcut dimension code.
- `OnBeforeLookupAppliesToDocNo(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before performing the lookup for the "Applies-to Doc. No." field. This event allows developers to add custom logic or override the default lookup behavior by setting the IsHandled variable to true.
- `OnBeforeCheckBalAccountNoOnJobNoValidation(var IsHandled: Boolean; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before validating the balancing account number when a job number has been specified. Subscribing to this event allows developers to override or extend the default behavior when performing validation on the balancing account number. This can be useful for implementing custom validatio...
- `OnBeforeSkipRenumberDocumentNo(GenJournalLine: Record "Gen. Journal Line"; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before determining whether to skip renumbering the "Document No." in the General Journal Line. This event allows developers to add custom logic or override the default renumbering process.
- `OnBeforeValidateJobTaskNo(xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before validating the "Job Task No." field in the General Journal Line. This event allows developers to add custom logic or skip the default validation for the "Job Task No." field.
- `OnCheckIfPrivacyBlockedCaseElse(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered when none of the predefined account types (Customer, Vendor, Employee) have been matched during the privacy block check. Subscribing to this event allows developers to extend or customize the behavior when encountering unsupported or custom account types in the privacy block validati...
- `OnClearCustVendApplnEntryOnBeforeCustEntrySetApplIDSetApplId(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Event triggered before setting the "Applies-to ID" field for Customer Ledger Entries during clearing of customer application entries. This event allows developers to change the default behavior before the "Applies-to ID" has been set in Customer Ledger Entries.
- `OnGetCustomerAccountOnAfterCustGet(var GenJournalLine: Record "Gen. Journal Line"; var Customer: Record Customer; CallingFieldNo: Integer)` (integration): Event triggered after retrieving a customer record for the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing customer account data. This can be useful for implementing additional logic, validations, or handling specific business rul...
- `OnGetCustomerBalAccountOnAfterCustGet(var GenJournalLine: Record "Gen. Journal Line"; var Customer: Record Customer; CallingFieldNo: Integer)` (integration): Event triggered after retrieving a customer record for the balancing account in the general journal line. Subscribing to this event allows developers to extend or customize the behavior when processing customer account data for the balancing account. This can be useful for implementing additional lo...
- `OnGetFAAddCurrExchRateOnCaseElse(GenJournalLine: Record "Gen. Journal Line"; DepreciationBook: Record "Depreciation Book"; var UseFAAddCurrExchRate: Boolean)` (integration): Event triggered if the "FA Posting Type" does not match any predefined "FA Posting Type" values. This event allows developers to add custom logic for handling additional "FA Posting Type" cases.
- `OnValidateBalAccountTypeOnBeforeSetBalAccountNo(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before resetting the "Bal. Account No." and "IC Account No." fields during the validation of the "Bal. Account Type" field. This event allows developers to add custom logic or modify the current record before the "Bal. Account No." and "IC Account No." fields have been reset.
- `OnValidatePostingDateOnAfterValidateCurrencyCode(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnGetGLBalAccountOnAfterSetDescription(var GenJournalLine: Record "Gen. Journal Line"; GLAcc: Record "G/L Account")` (integration): Event triggered after setting the description for a balancing G/L account. Subscribing to this event allows developers to extend or customize the behavior when updating the description for a balancing G/L account. This can be useful for implementing additional logic or applying specific business rul...
- `OnBeforeCreateDim(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; CurrentFieldNo: Integer)` (integration): Event triggered before creating dimensions for the General Journal Line. This event allows developers to add custom logic or skip the dimension creation by setting the IsHandled variable to true.
- `OnBeforeCheckConfirmDifferentCustomerAndBillToCustomer(var GenJorunalLine: Record "Gen. Journal Line"; Customer: Record Customer; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before confirming whether the "Bill-to Customer" differs from the "Account No." in the general journal line. Subscribing to this event allows developers to override or extend the default behavior when checking for a mismatch between the "Bill-to Customer" and the "Account No.". This ...
- `OnBeforeCheckConfirmDifferentVendorAndPayToVendor(var GenJorunalLine: Record "Gen. Journal Line"; Vendor: Record Vendor; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before confirming whether the "Pay-to Vendor" differs from the "Account No." in the general journal line. Subscribing to this event allows developers to override or extend the default behavior when checking for a mismatch between the "Pay-to Vendor" and the "Account No.". This can be...
- `OnBeforeCheckEmptyVATProdPostingGroup(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before checking if the "VAT Prod. Posting Group" field is empty in the General Journal Line. This event allows developers to change the default logic for validating the "VAT Prod. Posting Group" field.
- `OnBeforeCheckSetCurrencyCodeForBankCustLine(var GenJournalLine: Record "Gen. Journal Line"; Customer: Record Customer; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before setting the currency code for a bank account customer line in the general journal. Subscribing to this event allows developers to override or extend the default behavior when determining the currency code for a bank account customer line. This can be useful for implementing cu...
- `OnBeforeCheckSetCurrencyCodeForBankVendLine(var GenJournalLine: Record "Gen. Journal Line"; Vendor: Record Vendor; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration): Event triggered before setting the currency code for a bank account vendor line in the general journal. Subscribing to this event allows developers to override or extend the default behavior when determining the currency code for a bank account vendor line. This can be useful for implementing custom...
- `OnBeforeClearJobRelatedAmounts(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before clearing job-related amounts in the General Journal Line. This event allows developers to change the default behavior of clearing job-related amounts.
- `OnBeforeSetCurrencyCode(var GenJournalLine: Record "Gen. Journal Line"; AccType2: Enum "Gen. Journal Account Type"; AccNo2: Code[20]; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before setting the "Currency Code" field in the General Journal Line. This event allows developers to change the logic for setting the "Currency Code" based on the account type and account number.
- `OnLookUpAppliesToDocVendOnAfterApplyVendEntriesGetRecord(var GenJournalLine: Record "Gen. Journal Line"; GenJnlLine: Record "Gen. Journal Line"; GenJnlApply: Codeunit "Gen. Jnl.-Apply"; PaymentToleranceMgt: Codeunit "Payment Tolerance Management"; VendLedgEntry: Record "Vendor Ledger Entry"; var IsHandled: Boolean)` (integration): Event triggered after a Vendor Ledger Entry record has been selected in the "Apply Vendor Entries" page. This event allows developers to modify or add logic to the Vendor Ledger Entry after it has been selected from the page.
- `OnAfterLookUpAppliesToDocVend(var GenJournalLine: Record "Gen. Journal Line"; VendLedgEntry: Record "Vendor Ledger Entry"; CustLedgerEntry: Record "Cust. Ledger Entry"; ApplyVendorEntries: Page "Apply Vendor Entries")` (integration): Event triggered after the entire lookup process for document application for a vendor has been completed. This event allows developers to perform final processing after the lookup process has been completed.
- `OnGetDocumentBalanceOnBeforeCalcBalance(var GenJournalLine: Record "Gen. Journal Line"; GenJnlTemplate: Record "Gen. Journal Template")` (integration): Event triggered before calculating the "Balance (LCY)" sum of a document related to the General Journal Line. This event allows developers to add custom logic or modify filters on the General Journal Line record before the balance calculation has been completed.
- `OnValidateBalVATProdPostingGroupOnBeforeBalVATCalculationCheck(var GenJournalLine: Record "Gen. Journal Line"; var VATPostingSetup: Record "VAT Posting Setup"; var IsHandled: Boolean)` (integration): Event triggered before performing VAT calculation based on VAT Posting Setup and checks during the validation of "Bal. VAT Prod. Posting Group" field. This event allows developers to modify the VAT calculation and check process for balancing account.
- `OnAfterIsAcquisitionCost(var GenJournalLine: Record "Gen. Journal Line"; var AcquisitionCost: Boolean)` (integration): Event triggered after determining whether the "FA Posting Type" has been set to "Acquisition Cost" in the general journal line. Subscribing to this event allows developers to extend or customize the behavior after checking the acquisition cost status. This can be useful for implementing additional l...
- `OnAfterLookupShortcutDimCode(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration): Event triggered after the lookup on a shortcut dimension code in the General Journal Line. This event allows developers to add custom logic after the shortcut dimension code lookup has been done.
- `OnValidateCurrencyCodeOnBeforeUpdateCurrencyFactor(var GenJournalLine: Record "Gen. Journal Line"; var CurrExchRate: Record "Currency Exchange Rate")` (integration): Event triggered before updating the currency factor during currency code validation. This event allows the implementation of custom logic before the currency factor has been recalculated based on the current exchange rate.
- `OnDeleteOnBeforeClearCustVendApplnEntry(var GenJournalLine: Record "Gen. Journal Line"; GenJournalBatch: Record "Gen. Journal Batch"; GenJnlAlloc: Record "Gen. Jnl. Allocation"; var IsHandled: Boolean)` (integration): Event triggered before clearing application entries during the deletion of the General Journal Line. This event allows developers to change the default logic before application/allocation entries have been cleared.
- `OnLookupAppliestoDocNoOnAfterSetJournalLineFieldsFromApplication(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after the journal line fields have been set based on the application logic. This event allows developers to add custom logic after the journal line fields have been updated from the application.
- `OnValidateAppliesToDocNoOnAfterDelPmtToApplnDocNo(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after deleting payment tolerance in the Applied Ledger Entries for the previous "Applies-to Doc. No." value during validation. This event allows developers to add custom logic after Applied Ledger Entries payment tolerance fields have been reset for the xGenJournalLine."Applies-to Do...
- `OnValidateJobTaskNoOnBeforeJobTaskIsSet(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered before checking if a job task is set during the validation of the "Job Task No." field. This event allows developers to add custom logic before determining if a job task has been set.
- `OnBeforeClearDataExchangeEntries(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before clearing data exchange entries related to the General Journal Line. This event allows developers to implement custom logic or override the default logic for deleting data exchange entries.
- `OnValidateJobNo(var GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before default validation for the "Job No." field has been executed. This event allows developers to add custom logic or override the default validation for the "Job No." field.
- `OnBeforeCheckPostingGroupChange(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before checking for changes to the posting group in the general journal line. Subscribing to this event allows developers to override or extend the default behavior when validating posting group changes. This can be useful for implementing custom logic, validations, or handling speci...
- `OnSetupNewLineOnBeforeSuggestBalancingAmount(var GenJournalLine: Record "Gen. Journal Line"; var GenJournalBatch: Record "Gen. Journal Batch"; CurrentFieldNo: Integer)` (integration): Event triggered before suggesting a balancing amount during the setup of a new General Journal Line. This event allows developers to change the default logic before the system suggests a balancing amount for the General Journal Line.
- `OnAfterCopyDocumentFields(var GenJournalLine: Record "Gen. Journal Line"; DocType: Enum "Gen. Journal Document Type"; DocNo: Code[20]; ExtDocNo: Text[35]; SourceCode: Code[10]; NoSeriesCode: Code[20])` (integration): Event triggered after copying document fields into the current record. Subscribing to this event allows developers to override or extend the default behavior when handling document fields. This can be useful for implementing additional logic or validations related to document types, numbers, or othe...
- `OnSetJournalLineFieldsFromApplicationOnAfterFindFirstEmplLedgEntryWithAppliesToDocNo(var GenJournalLine: Record "Gen. Journal Line"; EmployeeLedgerEntry: Record "Employee Ledger Entry")` (integration): Event triggered after finding the first Employee Ledger Entry using the "Applies-to Doc. No.". This event allows developers to add custom logic after an Employee Ledger Entry has successfully been located by "Applies-to Doc. No.".
- `OnBeforeModifyClearAppliedGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before clearing the applied General Journal Line. This event allows developers to add custom logic or skip the default clearing process for applied General Journal Lines.
- `OnBeforeUpdateCurrencyCode(var GenJournalLine: Record "Gen. Journal Line"; NewCurrencyCode: Code[10]; var IsHandled: Boolean)` (integration): Event triggered before updating the currency code on the General Journal Line. This event allows developers to implement custom logic or override the default currency code update logic.
- `OnCheckModifyCurrencyCodeOnBeforeCheckAgainstApplnCurrency(GenJournalLine: Record "Gen. Journal Line"; VendorLedgerEntry: Record "Vendor Ledger Entry"; CustLedgerEntry: Record "Cust. Ledger Entry"; AccountType: Enum "Gen. Journal Account Type")` (integration): Event triggered before checking and potentially modifying the currency code during application. Subscribing to this event allows developers to override or extend the behavior when validating the general journal line's currency code against the customer or vendor ledger entry's currency code. This ca...
- `OnRenumberDocNoOnLinesOnAfterModifyGenJnlLine3(var DocNo: Code[20]; var GenJournalLine3: Record "Gen. Journal Line")` (integration): Event triggered after modifying the General Journal Line with a new "Document No." during the renumbering process. This event allows developers to change default logic after a General Journal Line has been updated with a new "Document No.".
- `OnBeforeReplaceDescription(var GenJournalLine: Record "Gen. Journal Line"; var GenJournalTemplate: Record "Gen. Journal Template"; var Result: Boolean; var IsHandled: Boolean)` (integration): Event triggered before checking whether the description should be replaced in the journal line. This event allows developers to change the custom logic or skip the standard process.
- `OnGetCustomerAccountOnBeforeValidatePaymentTermsCode(var GenJournalLine: Record "Gen. Journal Line"; var Customer: Record Customer; HideValidationDialog: Boolean)` (integration): Event triggered before validating the payment terms code for a customer account in the general journal line. Subscribing to this event allows developers to extend or customize the behavior when validating the payment terms code. This can be useful for implementing additional logic, validations, or s...
- `OnBeforeGetAppliesToDocDueDate(var GenJournalLine: Record "Gen. Journal Line"; var Result: Date; var IsHandled: Boolean)` (integration): Event triggered before retrieving the "Due Date" of the related applied document. This event allows developers to add custom logic or skip the default logic for determining the "Due Date".
- `OnValidateCurrencyCodeOnBeforeCheckBankAccountCurrencyCode(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before validating the bank account's currency code during "Currency Code" validation. This event allows developers to add custom logic before the standard validation of the Bank Account Currency Code.
- `OnUpdateLineBalanceOnAfterUpdateAllocations(var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after updating allocations during the line balance update process. This event allows developers to change default calculation logic after allocations have been updated for the General Journal Line.
- `OnGetCurrencyOnBeforeInitRoundingPrecision(var GenJournalLine: Record "Gen. Journal Line"; var Currency: Record Currency)` (integration): Event triggered before initializing the rounding precision of the currency in the General Journal Line. This event allows developers to add custom logic before the initialization of the currency rounding precision.
- `OnCalcVATAmountLCYOnBeforeInitRoundingPrecision(var GenJournalLine: Record "Gen. Journal Line"; var Currency: Record Currency)` (integration): Event triggered before initializing rounding precision during the calculation of VAT amount in LCY. Subscribing to this event allows developers to override or extend the default behavior when calculating the VAT amount in LCY. This can be useful for implementing custom rounding logic, additional val...
- `OnAppliesToDocNoOnValidateOnCaseElse(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; var TempGenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered when none of the defined account types (Customer, Vendor, Employee) have been handled during the validation of the "Applies-to Doc. No." field. This event allows developers to add custom logic for other account types.
- `OnAfterCheckGLAcc(var GenJournalLine: Record "Gen. Journal Line"; GLAccount: Record "G/L Account")` (integration): Event triggered after checking of the "G/L Account" in the General Journal Line. This event allows developers to add custom logic after the "G/L Account" validation checks have been completed.
- `OnLookUpAppliesToDocCustOnBeforeCustLedgerEntrySetRangeOpen(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before setting the filter on the "Open" field of the Customer Ledger Entry during the lookup process. This event allows developers to override or modify the logic that sets the "Open" field filter on the Customer Ledger Entry.
- `OnBeforeExportPaymentFile(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before exporting the payment file. This event allows developers to add custom logic or skip the default logic for exporting the payment file.
- `OnGetFAVATSetupOnBeforeCopyVATSetupToJnlLines(var GenJournalLine: Record "Gen. Journal Line"; var GLAccount: Record "G/L Account"; var FAPostingGroup: Record "FA Posting Group"; var IsHandled: Boolean)` (integration): Event triggered before copying VAT setup to journal lines in the General Journal Line for the Fixed Asset. This event allows developers to add custom logic or skip the default process of copying VAT setup.
- `OnLookUpAppliesToDocVendOnBeforeVendLedgerEntrySetRangeOpen(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before setting the filter on the "Open" field of the Vendor Ledger Entry during the lookup process. This event allows developers to override or modify the default logic for setting the "Open" field filter on the Vendor Ledger Entry.
- `OnSetAmountWithCustLedgEntryOnBeforeSetAmountWithRemaining(var GenJournalLine: Record "Gen. Journal Line"; var CustLedgerEntry: Record "Cust. Ledger Entry"; var IsHandled: Boolean)` (integration): Event triggered before setting the amount with the remaining amount from a customer ledger entry. Subscribing to this event allows developers to override or extend the behavior when determining the amount based on the remaining customer ledger entry data. This can be useful for customizing the calcu...
- `OnSetAmountWithVendLedgEntryOnBeforeSetAmountWithRemaining(var GenJournalLine: Record "Gen. Journal Line"; var VendLedgerEntry: Record "Vendor Ledger Entry"; var IsHandled: Boolean)` (integration): Event triggered before setting the amount with the remaining amount from a vendor ledger entry. Subscribing to this event allows developers to override or extend the behavior when determining the amount based on the remaining vendor ledger entry data. This can be useful for customizing the calculati...
- `OnBeforeSetDescriptionFromGLAcc(var GenJournalLine: Record "Gen. Journal Line"; var GLAccount: Record "G/L Account")` (integration): Event triggered before setting the description from a G/L account for the general journal line. Subscribing to this event allows developers to override or extend the default behavior when setting the description. This can be useful for implementing custom logic, validations, or additional processing...
- `OnBeforeCheckGLAcc(var GLAccount: Record "G/L Account"; var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before checking of the "G/L Account" in the General Journal Line. This event allows developers to add custom logic before the "G/L Account" validation checks have been executed.
- `OnLookupJobPlanningLineNoOnAfterJobPlanningLineSetFilter(var JobPlanningLine: Record "Job Planning Line"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after setting filters on the "Job Planning Line" during the lookup of the "Job Planning Line No." field. This event allows developers to change the filters applied to the "Job Planning Line" record or add custom logic before the lookup has been displayed.
- `OnBeforeValidateJobPlanningLineNo(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Event triggered before validating the "Job Planning Line No." field in the General Journal Line. This event allows developers to add custom logic or skip the default validation process for the "Job Planning Line No." field.
- `OnShowDimensionsOnAfterEditDimensionSet(var GenJournalLine: Record "Gen. Journal Line"; OldDimensionSetId: Integer)` (integration): Event triggered after editing the dimension set in the General Journal Line. This event allows developers to add custom logic after the dimension set has been updated in the General Journal Line.
- `OnGetVendLedgerEntryOnAfterCalcRemainingAmount(var VendorLedgerEntry: Record "Vendor Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after calculating the remaining amount on the Vendor Ledger Entry. This event allows developers to add custom logic after the "Remaining Amount" field has been calculated on the Vendor Ledger Entry.
- `OnGetCustLedgerEntryOnAfterCalcRemainingAmount(var CustLedgerEntry: Record "Cust. Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration): Event triggered after calculating the "Remaining Amount" on the Customer Ledger Entry. This event allows developers to add custom logic after the "Remaining Amount" field has been calculated on the Customer Ledger Entry.
- `OnBeforeValidateAppliesToDocType(var GenJnlLine: Record "Gen. Journal Line"; xGenJnlLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateAppliesToDocNo(var GenJnlLine: Record "Gen. Journal Line"; xGenJnlLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer; var SuppressCommit: Boolean; var IsHandled: Boolean)` (integration)
- `OnAfterValidateAppliesToDocNo(var GenJnlLine: Record "Gen. Journal Line"; xGenJnlLine: Record "Gen. Journal Line"; CurrentFieldNo: Integer; var SuppressCommit: Boolean)` (integration)
- `OnBeforeCheckOpenApprovalEntryExistForCurrentUser(GenJnlLine: Record "Gen. Journal Line"; CurrFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnGetFAAddCurrExchRateOnBeforeFADeprBookTestField(var FADeprBook: Record "FA Depreciation Book"; var IsHandled: Boolean)` (integration)
- `OnUpdateLineBalanceOnBeforeUpdateAmounts(var GenJnlLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeConvertAmtFCYToLCYForSourceCurrency(var Rec: Record "Gen. Journal Line"; var Amount: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeGetAccCurrencyCode(var GenJnlLine: Record "Gen. Journal Line"; var CurrencyCode: Code[10]; var IsHandled: Boolean)` (integration)

## Trigger event subscribers

- OnAfterDeleteEvent: [Codeunit 1535 "Approvals Mgmt."](../codeunit/1535.md) DeleteApprovalEntriesAfterDeleteGenJournalLine, [Codeunit 367 "CheckManagement"](../codeunit/367.md) CleanRecordIDToPrintOnAfterDeleteEventGenJournalLine, [Codeunit 6103 "E-Document Subscribers"](../codeunit/6103.md) OnAfterDeleteEventGenJournalLine, [Codeunit 6786 "Withholding Tax Jnl Subscriber"](../codeunit/6786.md) DeleteWithholdingTaxEntry
- OnAfterInsertEvent: [Codeunit 1508 "Notification Lifecycle Handler"](../codeunit/1508.md) OnAfterGenJnlLineInsertSetRecId, [Codeunit 1520 "Workflow Event Handling"](../codeunit/1520.md) RunWorkflowOnAfterInsertGeneralJournalLine, [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) RestrictGenJournalLineAfterInsert
- OnAfterModifyEvent: [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) RestrictGenJournalLineAfterModify, [Codeunit 2677 "Gen. Journal Alloc. Acc. Mgt."](../codeunit/2677.md) VerifyGeneralJournalLineOnAfterModify
- OnAfterRenameEvent: [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) UpdateGenJournalLineRestrictionsAfterRename
- OnAfterValidateEvent(Amount): [Codeunit 20286 "Use Case Event Handling"](../codeunit/20286.md) OnAfterPostGenJnlLine
- OnAfterValidateEvent(Expense Category): [Codeunit 7056 "WHT Expense Category Mgt."](../codeunit/7056.md) OnAfterExpenseCategoryValidateEmployee
- OnAfterValidateEvent(Job Quantity): [Codeunit 6251 "Sust. Gen. Journal Subscriber"](../codeunit/6251.md) OnAfterValidateEvent
- OnBeforeDeleteEvent: [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) RemoveGenJournalLineRestrictionsBeforeDelete
- OnBeforeModifyEvent: [Codeunit 2677 "Gen. Journal Alloc. Acc. Mgt."](../codeunit/2677.md) CheckBeforeModifyLine

## Procedures

- `EmptyLine(): Boolean`: Determines if the general journal line is empty. It is considered empty if account number, amount, and balance account number (if not system created entry) are blank.
- `GetSkipTaxCalculation(): Boolean`: Returns the value of the global flag SkipTaxCalculation.
- `SetSkipTaxCalulation(Skip: Boolean)`: Sets the value of the global variable SkipTaxCalculation.
- `UpdateLineBalance()`: Updates the debit amout, credit amount, balnce and amount fields of a general journal line.
- `UpdateAmounts()`: Updates the debit and credit amounts based on the current line's amount and correction status.
- `SetUpNewLine(LastGenJnlLine: Record "Gen. Journal Line"; Balance: Decimal; BottomLine: Boolean)`: Initializes a new general journal line with values from the previous general journal line.
- `InitNewLine(PostingDate: Date; DocumentDate: Date; VATDate: Date; PostingDescription: Text[100]; ShortcutDim1Code: Code[20]; ShortcutDim2Code: Code[20]; DimSetID: Integer; ReasonCode: Code[10])`: Initializes a new general journal line.
- `CheckDocNoOnLines()`: Checks the document numbers on general journal lines to ensure correct sequence by the number series in the general journal batch.
- `RenumberDocumentNo()`: Updates the document numbers on general journal lines to ensure correct sequence by the number series in the general journal batch.
- `RenumberAppliesToID(GenJnlLine2: Record "Gen. Journal Line"; OriginalAppliesToID: Code[50]; NewAppliesToID: Code[50])`: Updates the applies to ID in general journal line and related ledger entries.
- `RenumberAppliesToDocNo(GenJnlLine2: Record "Gen. Journal Line"; OriginalAppliesToDocNo: Code[20]; NewAppliesToDocNo: Code[20])`: Updates the applies to document number in general journal lines.
- `SetCurrencyCode(AccType2: Enum "Gen. Journal Account Type"; AccNo2: Code[20]): Boolean` (protected): Sets the currency code from related bank account.
- `SetCurrencyFactor(CurrencyCode: Code[10]; CurrencyFactor: Decimal)`: Sets the currency code and currency factor.
- `GetCurrency()` (protected): Sets the global Currency and CurrencyCode variables based on currency information in general journal line.
- `UpdateSource()`: Updates general journal line source type and source number from account or balancing account.
- `CheckGLAcc(GLAcc: Record "G/L Account")` (protected)
- `CheckICPartner(ICPartnerCode: Code[20]; AccountType: Enum "Gen. Journal Account Type"; AccountNo: Code[20])` (protected)
- `GetFAAddCurrExchRate()`: Updates the FA additional currency factor from the FA depreciation book setup.
- `GetShowCurrencyCode(CurrencyCode: Code[10]): Code[10]`: Returns the currency code for display purposes, substituting default text for empty currency.
- `ClearCustVendApplnEntry()`: Clears customer and vendor application entry fields when account information changes.
- `CheckFixedCurrency(): Boolean`: Checks if the currency has a fixed exchange rate for the posting date.
- `CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])`: Creates dimensions from default dimension sources for the journal line.
- `ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `LookupShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20])`
- `ShowDimensions(): Boolean`
- `SwitchLinesWithErrorsFilter(var ShowAllLinesEnabled: Boolean)`
- `GetFAVATSetup()`
- `GetTemplate()`
- `LookUpAppliesToDocCust(AccNo: Code[20])`
- `LookUpAppliesToDocVend(AccNo: Code[20])`
- `LookUpAppliesToDocEmpl(AccNo: Code[20])`
- `SetApplyToAmount()`
- `ValidateApplyRequirements(TempGenJnlLine: Record "Gen. Journal Line" temporary)`
- `JobTaskIsSet(): Boolean`
- `CreateTempJobJnlLine()`
- `UpdatePricesFromJobJnlLine()`
- `SetHideValidation(NewHideValidationDialog: Boolean)`
- `IsApplied(): Boolean`
- `DataCaption(): Text[250]`
- `GetCustLedgerEntry()`
- `GetVendLedgerEntry()`
- `GetEmplLedgerEntry()`
- `UpdateCurrencyCode(NewCurrencyCode: Code[10])` (protected)
- `CheckPaymentTolerance()` (protected)
- `IncludeVATAmount(): Boolean`
- `ConvertAmtFCYToLCYForSourceCurrency(Amount: Decimal): Decimal`
- `MatchSingleLedgerEntry()`
- `GetStyle(): Text`
- `GetDocumentBalance(var GenJournalLine: Record "Gen. Journal Line"): Decimal`
- `GetOverdueDateInteractions(var OverdueWarningText: Text): Text`
- `ClearDataExchangeEntries(DeleteHeaderEntries: Boolean)`
- `ClearAppliedGenJnlLine()`
- `GetIncomingDocumentURL(): Text[1024]`
- `InsertPaymentFileError(Text: Text)`
- `InsertPaymentFileErrorWithDetails(ErrorText: Text; AddnlInfo: Text; ExtSupportInfo: Text)`
- `DeletePaymentFileBatchErrors()`
- `DeletePaymentFileErrors()`
- `HasPaymentFileErrors(): Boolean`
- `HasPaymentFileErrorsInBatch(): Boolean`
- `UpdateDescriptionFromBalAccount(Name: Text[100])` (protected)
- `UpdateDescription(Name: Text[100])` (protected)
- `GetAppliesToDocEntryNo(): Integer`
- `GetAppliesToDocDueDate(): Date`
- `GetAppliesToDocPmtDiscountDate(): Date`
- `SetJournalLineFieldsFromApplication()`
- `GetAccTypeAndNo(GenJnlLine2: Record "Gen. Journal Line"; var AccType: Enum "Gen. Journal Account Type"; var AccNo: Code[20])`
- `ClearPostingGroups()` (protected)
- `ClearBalancePostingGroups()` (protected)
- `CancelBackgroundPosting()`
- `ReplaceDescription(): Boolean`
- `IsCustVendICAdded(GenJournalLine: Record "Gen. Journal Line"): Boolean`
- `IsExportedToPaymentFile(): Boolean`
- `IsPaymentJournallLineExported(): Boolean`
- `IsAppliedToVendorLedgerEntryExported(): Boolean`
- `SetPostingDateAsDueDate(DueDate: Date; DateOffset: DateFormula): Boolean`
- `CalculatePostingDate()`
- `ImportBankStatement()`
- `ExportPaymentFile()`
- `SetSuppressCommit(NewSuppressCommit: Boolean)`
- `TotalExportedAmount(): Decimal`
- `DrillDownExportedAmount()`
- `CopyDocumentFields(DocType: Enum "Gen. Journal Document Type"; DocNo: Code[20]; ExtDocNo: Text[35]; SourceCode: Code[10]; NoSeriesCode: Code[20])`
- `CopyCustLedgEntry(CustLedgerEntry: Record "Cust. Ledger Entry")`
- `CopyVendLedgEntry(VendorLedgerEntry: Record "Vendor Ledger Entry")`
- `CopyFromGenJnlAllocation(GenJnlAlloc: Record "Gen. Jnl. Allocation")`
- `CopyFromIssuedFinChargeMemoHeader(IssuedFinChargeMemoHeader: Record "Issued Fin. Charge Memo Header")`
- `CopyFromIssuedFinChargeMemoLine(IssuedFinChargeMemoLine: Record "Issued Fin. Charge Memo Line")`
- `CopyFromIssuedReminderHeader(IssuedReminderHeader: Record "Issued Reminder Header")`
- `CopyFromIssuedReminderLine(IssuedReminderLine: Record "Issued Reminder Line")`
- `CopyFromPrepmtInvoiceBuffer(PrepmtInvLineBuffer: Record "Prepayment Inv. Line Buffer")`
- `CopyFromPurchHeader(PurchHeader: Record "Purchase Header")`
- `CopyFromPurchHeaderPrepmt(PurchHeader: Record "Purchase Header")`
- `CopyFromPurchHeaderPrepmtPost(PurchHeader: Record "Purchase Header"; UsePmtDisc: Boolean)`
- `CopyFromPurchHeaderApplyTo(PurchHeader: Record "Purchase Header")`
- `CopyFromPurchHeaderPayment(PurchHeader: Record "Purchase Header")`
- `CopyFromSalesHeader(SalesHeader: Record "Sales Header")`
- `CopyFromSalesHeaderPrepmt(SalesHeader: Record "Sales Header")`
- `CopyFromSalesHeaderPrepmtPost(SalesHeader: Record "Sales Header"; UsePmtDisc: Boolean)`
- `CopyFromSalesHeaderApplyTo(SalesHeader: Record "Sales Header")`
- `CopyFromSalesHeaderPayment(SalesHeader: Record "Sales Header")`
- `CopyFromPaymentCustLedgEntry(CustLedgEntry: Record "Cust. Ledger Entry")`
- `CopyFromPaymentVendLedgEntry(VendLedgEntry: Record "Vendor Ledger Entry")`
- `CopyFromPaymentEmpLedgEntry(EmployeeLedgerEntry: Record "Employee Ledger Entry")`
- `CopyVATSetupToJnlLines(): Boolean`
- `CheckModifyCurrencyCode(AccountType: Enum "Gen. Journal Account Type"; CustVendLedgEntryCurrencyCode: Code[10])`
- `SetAmountWithRemaining(CalcPmtDisc: Boolean; AmountToApply: Decimal; RemainingAmount: Decimal; RemainingPmtDiscPossible: Decimal)` (protected)
- `IsOpenedFromBatch(): Boolean`
- `GetDeferralAmount(): Decimal`
- `ShowDeferrals(PostingDate: Date; CurrencyCode: Code[10]): Boolean`
- `IsForPurchase(): Boolean`
- `IsForSales(): Boolean`
- `IsForGLAccount(): Boolean`
- `NeedCheckZeroAmount(): Boolean`
- `IsRecurring(): Boolean`
- `CreateFAAcquisitionLines(var FAGenJournalLine: Record "Gen. Journal Line")`
- `SetAccountNoFromFilter()`: Sets the account number of the current general journal line based on the existing account number filter.
- `GetNewLineNo(TemplateName: Code[10]; BatchName: Code[10]): Integer`: Returns the next unused journal line number for a template and batch.
- `VoidPaymentFile()`: Runs a report that voids electronic payments associated with a general journal line.
- `TransmitPaymentFile()`: Runs the report which transmits electronic payments associated with the general journal line.
- `ValidateSalesPersonPurchaserCode(GenJournalLine2: Record "Gen. Journal Line")`: Tests if the salesperson/purchaser privacy is not blocked of the provided general journal line. If privacy is blocked, an error is raised.
- `CheckIfPrivacyBlocked()`: Checks if the privacy is blocked for the accounts associated with the general journal line.
- `GetGenJnlLineToJobCurrencyFactor(): Decimal`: Calculates the currency factor for the general journal line based on the job currency factor and the journal line currency factor.
- `UpdateAccountID()`: Updates the account ID with the system ID of the related G/L account.
- `UpdateBankAccountID()`: Updates the account ID with the system ID of the related bank account.
- `UpdateCustomerID()`: Updates the customer ID with the system ID of the related customer.
- `UpdateVendorID()`: Updates the vendor ID with the system ID of the related vendor.
- `UpdateAppliesToInvoiceID()`: Updates the applies-to invoice ID with the system ID of the related sales or purchase invoice header.
- `UpdateJournalBatchID()`: Updates the journal batch ID with the system ID of the related general journal batch.
- `UpdatePaymentMethodId()`: Updates the payment method ID with the system ID of the related payment method.
- `ShowDeferralSchedule()`: Opens a page with deferral schedule for the general journal line.
- `ShowRecurringDimFilter()`: Opens the general journal dimension filters page for the current general journal line.
- `CheckShortcutDimCodeRecurringMethod(ShortcutDimCode: Code[20])`: Checks if the shortcut dimension code is valid for the recurring method on a general journal line.
- `SendToPosting(PostingCodeunitID: Integer)`: Sends a general journal line to a specified posting codeunit for processing.
- `CreateDimFromDefaultDim(FromFieldNo: Integer)`: Initializes the dimensions for the general journal line.
- `IsAcquisitionCost(): Boolean`: Determines whether the fixed asset posting type of the current general journal line is set to the acquisition cost.

Plus 111 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- Job Task No.: TableRelation [Table 1001 "Job Task"](../table/1001.md)
- Data Exch. Entry No.: TableRelation [Table 1220 "Data Exch."](../table/1220.md)
- Has Payment Export Error: CalcFormula [Table 1228 "Payment Jnl. Export Error Text"](../table/1228.md)
- Direct Debit Mandate ID: TableRelation [Table 1230 "SEPA Direct Debit Mandate"](../table/1230.md)
- Salespers./Purch. Code: TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md)
- Incoming Document Entry No.: TableRelation [Table 130 "Incoming Document"](../table/130.md)
- Account Id: TableRelation [Table 15 "G/L Account"](../table/15.md)
- Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- Bal. Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- Balance Account Id: TableRelation [Table 15 "G/L Account"](../table/15.md)
- Job No.: TableRelation [Table 167 "Job"](../table/167.md)
- Deferral Code: TableRelation [Table 1700 "Deferral Template"](../table/1700.md)
- Account No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Bal. Account No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Bill-to/Pay-to No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Sell-to/Buy-from No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Source No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Job Unit Of Measure Code: TableRelation [Table 204 "Unit of Measure"](../table/204.md)
- Business Unit Code: TableRelation [Table 220 "Business Unit"](../table/220.md)
- Allocated Amt. (LCY): CalcFormula [Table 221 "Gen. Jnl. Allocation"](../table/221.md)
- Ship-to/Order Address Code: TableRelation [Table 222 "Ship-to Address"](../table/222.md) (conditional)
- Remit-to Code: TableRelation [Table 2224 "Remit Address"](../table/2224.md)
- Ship-to/Order Address Code: TableRelation [Table 224 "Order Address"](../table/224.md) (conditional)
- Account No.: TableRelation [Table 23 "Vendor"](../table/23.md) (conditional)
- Bal. Account No.: TableRelation [Table 23 "Vendor"](../table/23.md) (conditional)
- Bill-to/Pay-to No.: TableRelation [Table 23 "Vendor"](../table/23.md) (conditional)
- Sell-to/Buy-from 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)
- Reason Code: TableRelation [Table 231 "Reason Code"](../table/231.md)
- Journal Batch Id: TableRelation [Table 232 "Gen. Journal Batch"](../table/232.md)
- Journal Batch Name: TableRelation [Table 232 "Gen. Journal Batch"](../table/232.md)
- Bal. Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Bal. Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Allocation Account No.: TableRelation [Table 2670 "Allocation Account"](../table/2670.md)
- Selected Alloc. Account No.: TableRelation [Table 2670 "Allocation Account"](../table/2670.md)
- Alloc. Acc. Modified by User: CalcFormula [Table 2673 "Alloc. Acc. Manual Override"](../table/2673.md)
- Account No.: TableRelation [Table 270 "Bank Account"](../table/270.md) (conditional)
- Source No.: TableRelation [Table 270 "Bank Account"](../table/270.md) (conditional)
- Recipient Bank Account: TableRelation [Table 287 "Customer Bank Account"](../table/287.md) (conditional)
- Recipient Bank Account: TableRelation [Table 288 "Vendor Bank Account"](../table/288.md) (conditional)
- Payment Method Code: TableRelation [Table 289 "Payment Method"](../table/289.md)
- Payment Method Id: TableRelation [Table 289 "Payment Method"](../table/289.md)
- Payment Terms Code: TableRelation [Table 3 "Payment Terms"](../table/3.md)
- Posting No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Bal. Tax Area Code: TableRelation [Table 318 "Tax Area"](../table/318.md)
- Tax Area Code: TableRelation [Table 318 "Tax Area"](../table/318.md)
- Bal. Tax Group Code: TableRelation [Table 321 "Tax Group"](../table/321.md)
- Tax Group Code: TableRelation [Table 321 "Tax Group"](../table/321.md)
- Bal. VAT Bus. Posting Group: TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md)
- VAT Bus. Posting Group: TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md)
- Bal. VAT Prod. Posting Group: TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md)
- VAT Prod. Posting Group: TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md)
- Shortcut Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Shortcut Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Source Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- IC Account No.: TableRelation [Table 410 "IC G/L Account"](../table/410.md) (conditional)
- IC Partner G/L Acc. No.: TableRelation [Table 410 "IC G/L Account"](../table/410.md)
- IC Partner Code: TableRelation [Table 413 "IC Partner"](../table/413.md)
- IC Account No.: TableRelation [Table 422 "IC Bank Account"](../table/422.md) (conditional)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Campaign No.: TableRelation [Table 5071 "Campaign"](../table/5071.md)
- Source No.: TableRelation [Table 5200 "Employee"](../table/5200.md) (conditional)
- Posting Group: TableRelation [Table 5221 "Employee Posting Group"](../table/5221.md) (conditional)
- Applies-to Invoice Id: TableRelation [Table 5475 "Sales Invoice Entity Aggregate"](../table/5475.md)
- Budgeted FA No.: TableRelation [Table 5600 "Fixed Asset"](../table/5600.md)
- Source No.: TableRelation [Table 5600 "Fixed Asset"](../table/5600.md) (conditional)
- FA Error Entry No.: TableRelation [Table 5601 "FA Ledger Entry"](../table/5601.md)
- Posting Group: TableRelation [Table 5606 "FA Posting Group"](../table/5606.md) (conditional)
- Depreciation Book Code: TableRelation [Table 5611 "Depreciation Book"](../table/5611.md)
- Duplicate in Depreciation Book: TableRelation [Table 5611 "Depreciation Book"](../table/5611.md)
- Maintenance Code: TableRelation [Table 5626 "Maintenance"](../table/5626.md)
- Insurance No.: TableRelation [Table 5628 "Insurance"](../table/5628.md)
- Spend Request No.: TableRelation [Table 6840 "Spend Request"](../table/6840.md)
- Journal Template Name: TableRelation [Table 80 "Gen. Journal Template"](../table/80.md)
- Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)
- Posting Group: TableRelation [Table 92 "Customer Posting Group"](../table/92.md) (conditional)
- Posting Group: TableRelation [Table 93 "Vendor Posting Group"](../table/93.md) (conditional)

## Referenced by

4 fields in 4 objects relate to this table (TableRelation or CalcFormula).

- [Table 1690 "Bank Deposit Header"](../table/1690.md): Total Deposit Lines
- [Table 221 "Gen. Jnl. Allocation"](../table/221.md): Journal Line No.
- [Table 232 "Gen. Journal Batch"](../table/232.md): No. of Lines
- [Table 357 "Gen. Jnl. Dim. Filter"](../table/357.md): Journal Line No.

## Pages and codeunits on this table

- [Page 1020 "Job G/L Journal"](../page/1020.md) (source table)
- [Page 1297 "Transfer Difference to Account"](../page/1297.md) (source table)
- [Page 1693 "Bank Deposit Subform"](../page/1693.md) (source table)
- [Page 20049 "APIV1 - JournalLines"](../page/20049.md) (source table)
- [Page 20058 "APIV1 - Customer Payments"](../page/20058.md) (source table)
- [Page 253 "Sales Journal"](../page/253.md) (source table)
- [Page 254 "Purchase Journal"](../page/254.md) (source table)
- [Page 255 "Cash Receipt Journal"](../page/255.md) (source table)
- [Page 256 "Payment Journal"](../page/256.md) (source table)
- [Page 283 "Recurring General Journal"](../page/283.md) (source table)
- [Page 30049 "APIV2 - JournalLines"](../page/30049.md) (source table)
- [Page 30055 "APIV2 - Customer Payments"](../page/30055.md) (source table)
- [Page 30060 "APIV2 - Vendor Payments"](../page/30060.md) (source table)
- [Page 39 "General Journal"](../page/39.md) (source table)
- [Page 404 "Check Preview"](../page/404.md) (source table)
- [Page 5551 "Fixed Asset Acquisition Wizard"](../page/5551.md) (source table)
- [Page 5628 "Fixed Asset G/L Journal"](../page/5628.md) (source table)
- [Page 610 "IC General Journal"](../page/610.md) (source table)
- [Page 6407 "Gen. Journal Line Entity"](../page/6407.md) (source table)
- [Page 9120 "Journal Line Details FactBox"](../page/9120.md) (source table)
- [Page 9121 "Journal Errors Factbox"](../page/9121.md) (source table)
- [Codeunit 11 "Gen. Jnl.-Check Line"](../codeunit/11.md) (codeunit runs on it)
- [Codeunit 12 "Gen. Jnl.-Post Line"](../codeunit/12.md) (codeunit runs on it)
- [Codeunit 1206 "Pmt Export Mgt Gen. Jnl Line"](../codeunit/1206.md) (codeunit runs on it)
- [Codeunit 1209 "Export Payment File (Yes/No)"](../codeunit/1209.md) (codeunit runs on it)
- [Codeunit 1211 "Payment Export Gen. Jnl Check"](../codeunit/1211.md) (codeunit runs on it)
- [Codeunit 1220 "SEPA CT-Export File"](../codeunit/1220.md) (codeunit runs on it)
- [Codeunit 1222 "SEPA CT-Prepare Source"](../codeunit/1222.md) (codeunit runs on it)
- [Codeunit 1223 "SEPA CT-Check Line"](../codeunit/1223.md) (codeunit runs on it)
- [Codeunit 1247 "Process Gen. Journal Lines"](../codeunit/1247.md) (codeunit runs on it)
- [Codeunit 1250 "Match General Journal Lines"](../codeunit/1250.md) (codeunit runs on it)
- [Codeunit 1260 "Imp. SEPA CAMT Gen. Jnl."](../codeunit/1260.md) (codeunit runs on it)
- [Codeunit 1270 "Exp. Launcher Gen. Jnl."](../codeunit/1270.md) (codeunit runs on it)
- [Codeunit 1271 "Exp. Data Handling Gen. Jnl."](../codeunit/1271.md) (codeunit runs on it)
- [Codeunit 1272 "Exp. Validation Gen. Jnl."](../codeunit/1272.md) (codeunit runs on it)
- [Codeunit 13 "Gen. Jnl.-Post Batch"](../codeunit/13.md) (codeunit runs on it)
- [Codeunit 14 "Gen. Jnl.-Show Entries"](../codeunit/14.md) (codeunit runs on it)
- [Codeunit 15 "Gen. Jnl.-Show Card"](../codeunit/15.md) (codeunit runs on it)
- [Codeunit 1536 "Approvals Journal Line Request"](../codeunit/1536.md) (codeunit runs on it)
- [Codeunit 16 "Gen. Jnl.-Show CT Entries"](../codeunit/16.md) (codeunit runs on it)
- [Codeunit 17 "Gen. Jnl.-Post Reverse"](../codeunit/17.md) (codeunit runs on it)
- [Codeunit 20106 "AMC Bank Exp. CT Launcher"](../codeunit/20106.md) (codeunit runs on it)
- [Codeunit 20107 "AMC Bank Exp. CT Valid."](../codeunit/20107.md) (codeunit runs on it)
- [Codeunit 225 "Gen. Jnl.-Apply"](../codeunit/225.md) (codeunit runs on it)
- [Codeunit 231 "Gen. Jnl.-Post"](../codeunit/231.md) (codeunit runs on it)
- [Codeunit 232 "Gen. Jnl.-Post+Print"](../codeunit/232.md) (codeunit runs on it)
- [Codeunit 366 "Exchange Acc. G/L Journal Line"](../codeunit/366.md) (codeunit runs on it)
- [Codeunit 407 "Adjust Gen. Journal Balance"](../codeunit/407.md) (codeunit runs on it)
- [Codeunit 5631 "FA Jnl.-Check Line"](../codeunit/5631.md) (codeunit runs on it)

## Extended by

- [Table extension 20334 "Gen. Journal Line Posting Ext"](../tableextension/20334.md)
- [Table extension 30202 "Shpfy Gen. Journal Line"](../tableextension/30202.md)
- [Table extension 4851 "AutoAcc Gen. Journal Line"](../tableextension/4851.md)
- [Table extension 6101 "E-Doc. Gen. Journal Line"](../tableextension/6101.md)
- [Table extension 6224 "Sust. Gen. Journal Line"](../tableextension/6224.md)
- [Table extension 6793 "Withholding Gen. Jnl. Line Ext"](../tableextension/6793.md)
- [Table extension 6976 "Gen. Journal Line"](../tableextension/6976.md)
- [Table extension 8070 "Gen. Journal Line"](../tableextension/8070.md)

## 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 408 "DimensionManagement"](../codeunit/408.md) (8 calls: `CreateDim → GetRecDefaultDimID`, `InitDefaultDimensionSources → AddDimSource`, `InitDefaultDimensionSources → TypeToTableID1`, …)
- [Codeunit 1535 "Approvals Mgmt."](../codeunit/1535.md) (6 calls: `CheckOpenApprovalEntryExistForCurrentUser → PreventModifyRecIfOpenApprovalEntryExistForCurrentUser`, `OnDelete → PreventDeletingRecordWithOpenApprovalEntry`, `OnInsert → PreventInsertRecIfOpenApprovalEntryExist`, …)
- [Codeunit 426 "Payment Tolerance Management"](../codeunit/426.md) (5 calls: `CheckPaymentTolerance → PmtTolGenJnl`, `SetAmountWithCustLedgEntry → CheckCalcPmtDiscGenJnlCust`, `SetAmountWithVendLedgEntry → CheckCalcPmtDiscGenJnlVend`, …)
- [Codeunit 27 "Confirm Management"](../codeunit/27.md) (4 calls: `CheckConfirmDifferentCustomerAndBillToCustomer → GetResponseOrDefault`, `CheckConfirmDifferentVendorAndPayToVendor → GetResponseOrDefault`, `ExportPaymentFile → GetResponseOrDefault`, …)
- [Codeunit 308 "No. Series - Batch"](../codeunit/308.md) (4 calls: `CheckDocNoOnLines → GetNextNo`, `CheckDocNoOnLines → SetSimulationMode`, `CheckDocNoOnLines → TestManual`, …)
- [Page 456 "No. Series"](../page/456.md) (4 calls: `GenerateLineDocNo → (object)`, `RenumberDocNoOnLines → (object)`, `RenumberDocumentNo → (object)`, …)
- [Codeunit 103 "Cust. Entry-Edit"](../codeunit/103.md) (3 calls: `ClearCustVendApplnEntry → (object)`, `RenumberAppliesToID → (object)`, `SetApplyToAmount → (object)`)
- [Codeunit 113 "Vend. Entry-Edit"](../codeunit/113.md) (3 calls: `ClearCustVendApplnEntry → (object)`, `RenumberAppliesToID → (object)`, `SetApplyToAmount → (object)`)
- [Codeunit 114 "Empl. Entry-Edit"](../codeunit/114.md) (2 calls: `ClearCustVendApplnEntry → (object)`, `SetApplyToAmount → (object)`)
- [Codeunit 1511 "Notification Lifecycle Mgt."](../codeunit/1511.md) (2 calls: `RecallSetDimFiltersNotification → RecallNotificationsForRecord`, `SendSetDimFiltersNotification → SendNotification`)
- [Codeunit 16 "Gen. Jnl.-Show CT Entries"](../codeunit/16.md) (2 calls: `DrillDownExportedAmount → SetFiltersOnCreditTransferEntry`, `TotalExportedAmount → SetFiltersOnCreditTransferEntry`)
- [Codeunit 1720 "Deferral Utilities"](../codeunit/1720.md) (2 calls: `OnDelete → DeferralCodeOnDelete`, `ShowDeferrals → OpenLineScheduleEdit`)
- [Codeunit 5477 "Sales Invoice Aggregator"](../codeunit/5477.md) (2 calls: `UpdateAppliesToInvoiceID → GetSalesInvoiceHeaderId`, `UpdateAppliesToInvoiceNo → GetSalesInvoiceHeaderFromId`)
- [Codeunit 5529 "Purch. Inv. Aggregator"](../codeunit/5529.md) (2 calls: `UpdateAppliesToInvoiceID → GetPurchaseInvoiceHeaderId`, `UpdateAppliesToInvoiceNo → GetPurchaseInvoiceHeaderFromId`)
- [Codeunit 101 "Cust. Entry-SetAppl.ID"](../codeunit/101.md) (1 call: `ClearCustVendApplnEntry → SetApplId`)
- [Codeunit 111 "Vend. Entry-SetAppl.ID"](../codeunit/111.md) (1 call: `ClearCustVendApplnEntry → SetApplId`)
- [Codeunit 112 "Empl. Entry-SetAppl.ID"](../codeunit/112.md) (1 call: `ClearCustVendApplnEntry → SetApplId`)
- [Codeunit 1247 "Process Gen. Journal Lines"](../codeunit/1247.md) (1 call: `ImportBankStatement → ImportBankStatement`)
- [Codeunit 1250 "Match General Journal Lines"](../codeunit/1250.md) (1 call: `MatchSingleLedgerEntry → (object)`)
- [Codeunit 1270 "Exp. Launcher Gen. Jnl."](../codeunit/1270.md) (1 call: `ExportPaymentFile → (object)`)
- [Codeunit 1380 "Batch Processing Mgt."](../codeunit/1380.md) (1 call: `SendToPosting → BatchProcessGenJournalLine`)
- [Codeunit 1550 "Record Restriction Mgt."](../codeunit/1550.md) (1 call: `RestrictGenJournalLine → RestrictRecordUsage`)
- [Codeunit 225 "Gen. Jnl.-Apply"](../codeunit/225.md) (1 call: `CheckModifyCurrencyCode → CheckAgainstApplnCurrency`)
- [Codeunit 250 "Gen. Jnl.-Post via Job Queue"](../codeunit/250.md) (1 call: `CancelBackgroundPosting → CancelQueueEntry`)
- [Codeunit 3006 "DotNet_DateTimeOffset"](../codeunit/3006.md) (1 call: `SetLastModifiedDateTime → ConvertToUtcDateTime`)
- [Codeunit 312 "Cust-Check Cr. Limit"](../codeunit/312.md) (1 call: `ValidateAmount → GenJnlLineCheck`)
- [Codeunit 366 "Exchange Acc. G/L Journal Line"](../codeunit/366.md) (1 call: `ValidateApplyRequirements → (object)`)
- [Codeunit 486 "Gen. Jnl. Dim. Filter Mgt."](../codeunit/486.md) (1 call: `SendSetDimFiltersNotification → IsNotificationEnabled`)
- [Codeunit 9080 "Journal Errors Mgt."](../codeunit/9080.md) (1 call: `SwitchLinesWithErrorsFilter → GetErrorMessages`)
- [Page 1206 "Credit Transfer Reg. Entries"](../page/1206.md) (1 call: `DrillDownExportedAmount → (object)`)

## Recent changes

- 2026-09-09 [#11160 Ruleset hardening: promote three mechanical rules to Error](../../changes/bcapps/11160.md) (main, BC30, refactor)
- 2026-08-12 [#10061 [Master]-Payment Reference from Purchase Order Prepayment Invoice is not Transferred to Vendor Ledger Entries.](../../changes/bcapps/10061.md) (main, BC30, fix)
- 2026-08-10 [#9391 [Master] - Slice 616928: [Expense Management] [App part] Expense Managements Travel Requisitions 💸](../../changes/bcapps/9391.md) (main, BC30, feature)
- 2026-07-31 [#8959 Deliverable 638799: Spend Requests in Base App](../../changes/bcapps/8959.md) (main, BC30, feature)

## Across versions

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

## Countries that replace it

[AT](../../localizations/at.md), [AU](../../localizations/au.md), [BE](../../localizations/be.md), [CA](../../localizations/ca.md), [CH](../../localizations/ch.md), [DE](../../localizations/de.md), [ES](../../localizations/es.md), [FI](../../localizations/fi.md), [FR](../../localizations/fr.md), [GB](../../localizations/gb.md), [IT](../../localizations/it.md), [MX](../../localizations/mx.md), [NL](../../localizations/nl.md), [NO](../../localizations/no.md), [NZ](../../localizations/nz.md), [RU](../../localizations/ru.md), [SE](../../localizations/se.md), [US](../../localizations/us.md)

## Deprecations

- field IC Partner G/L Acc. No.: Removed 25.0 (#if not CLEANSCHEMA25), "Replaced by IC Account No."

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: "Gen. Journal Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
