tableFinanceofficial - Microsoftderived - from the source, no model text

Table 232 "Gen. Journal Batch"

Base Application · Microsoft.Finance.GeneralLedger.Journal

Across versions

  1. BC23present
  2. BC244 events changed, 2 fields changed
  3. BC25unchanged
  4. BC262 fields removed
  5. BC27unchanged
  6. BC281 fields added
  7. BC2913 fields changed
  8. BC30unchanged

Neighbourhood 71 connected objects and pages

Table 80 "Gen. Journal Template" (relates to, 3 links)Gen. Journal TemplateTable 308 "No. Series" (relates to, 2 links)Table 1200 "Bank Export/Import Setup" (relates to)Bank Export/Import SetupPage 251 "General Journal Batches" (pages and codeunits on it, 2 links)General Journal BatchesCodeunit 233 "Gen. Jnl.-B.Post" (pages and codeunits on it)Gen. Jnl.-B.PostCodeunit 234 "Gen. Jnl.-B.Post+Print" (pages and codeunits on it)Gen. Jnl.-B.Post+PrintPage 20013 "APIV1 - Cust. Paym. Journals" (pages and codeunits on it)APIV1 - Cust. Paym. JournalsPage 20016 "APIV1 - Journals" (pages and codeunits on it)Page 30013 "APIV2 - Cust. Paym. Journals" (pages and codeunits on it)APIV2 - Cust. Paym. JournalsPage 30016 "APIV2 - Journals" (pages and codeunits on it)Page 30061 "APIV2 - Vendor Paym. Journals" (pages and codeunits on it)APIV2 - Vendor Paym. JournalsPage 6406 "Gen. Journal Batch Entity" (pages and codeunits on it)Codeunit 1550 "Record Restriction Mgt." (event subscribers, 3 links)Record Restriction Mgt.Codeunit 1520 "Workflow Event Handling" (event subscribers, 2 links)Workflow Event HandlingCodeunit 1535 "Approvals Mgmt." (event subscribers, 2 links)Approvals Mgmt.Codeunit 1535 "Approvals Mgmt." (calls, 3 links)Approvals Mgmt.Table 98 "General Ledger Setup" (referenced by, 4 links)General Ledger SetupTable 311 "Sales & Receivables Setup" (referenced by, 2 links)Table 81 "Gen. Journal Line" (referenced by, 2 links)Gen. Journal LineTable 109 "Net Balances Parameters" (referenced by)Table 1104 "Cost Entry" (referenced by)Table 1226 "Payment Export Data" (referenced by)Table 1228 "Payment Jnl. Export Error Text" (referenced by)(v1.0) Delete journals (Learn pages)(v1.0) Get journals (Learn pages)(v1.0) journal resource type (Learn pages)(v1.0) Update journals (Learn pages)CREATE customerPaymentJournals (Learn pages)Create journals (Learn pages)CREATE vendorPaymentJournals (Learn pages)customerPaymentJournal resource type (Learn pages)DELETE customerPaymentJournals (Learn pages)Delete journals (Learn pages)DELETE vendorPaymentJournals (Learn pages)GET customerPaymentJournals (Learn pages)Get journals (Learn pages)GET vendorPaymentJournals (Learn pages)journal resource type (Learn pages)Let Business Central suggest values (Learn pages)Record expenses or income directly in G/L (Learn pages)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Finance.GeneralLedger.Journal · BC23-30 · source at ea08af5e · facts from BC29

Learn documents this table through its pages: Page 30013 “APIV2 - Cust. Paym. Journals” (5 Learn pages), Page 30016 “APIV2 - Journals” (5), Page 30061 “APIV2 - Vendor Paym. Journals” (5), Page 20016 “APIV1 - Journals” (4), Page 251 “General Journal Batches” (3).

Properties

Property Value
Caption Gen. Journal Batch
DataClassification CustomerContent

Fields

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

No. Name Type Explanation Notes
1 Journal Template Name Code[10] — TableRelation Table 80 “Gen. Journal Template” (Gen. Journal Template); NotBlank
2 Name Δ BC29 Code[10] Specifies the name of the journal you are creating. NotBlank
3 Description Δ BC29 Text[100] Specifies a brief description of the journal batch you are creating.
4 Reason Code Δ BC29 Code[10] Specifies the reason code, a supplementary source code that enables you to trace the entry. TableRelation Table 231 “Reason Code” (Reason Code)
5 Bal. Account Type Δ BC29 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”
6 Bal. Account No. Δ BC29 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 18 “Customer”, Table 23 “Vendor” (if (“Bal. Account Type” = const(“G/L Account”)) “G/L Account” else if (“Bal. Account Type” = const(Customer)) Customer else if (“Bal. Account Type” = const(Vendor)) Vendor else if (“Bal. Account Type” = const(“Bank Account”)) “Bank Account” else if (“Bal. Account Type” = const(“Fixed Asset”)) “Fixed…)
7 No. Series Δ BC29 Code[20] Specifies the number series from which entry or record numbers are assigned to new entries or records. TableRelation Table 308 “No. Series” (No. Series)
8 Posting No. Series Δ BC29 Code[20] Specifies the code for the number series that will be used to assign document numbers to ledger entries that are posted from this journal batch. TableRelation Table 308 “No. Series” (No. Series)
9 Copy VAT Setup to Jnl. Lines Δ BC29 Boolean Specifies whether the program to calculate VAT for accounts and balancing accounts on the journal line of the selected journal batch.
10 Allow VAT Difference Δ BC29 Boolean Specifies whether to allow the manual adjustment of VAT amounts in journal templates.
11 Allow Payment Export Δ BC29 Boolean Specifies if you can export bank payment files from payment journal lines using this general journal batch.
12 Bank Statement Import Format Δ BC29 Code[20] Specifies the format of the bank statement file that can be imported into this general journal batch. TableRelation Table 1200 “Bank Export/Import Setup” (“Bank Export/Import Setup”.Code where(Direction = const(Import)))
21 Template Type Δ BC24 Enum “Gen. Journal Template Type” — FlowField: lookup(“Gen. Journal Template”.Type where(Name = field(“Journal Template Name”))); enum Enum 89 “Gen. Journal Template Type”; not editable
22 Recurring Δ BC24 Boolean — FlowField: lookup(“Gen. Journal Template”.Recurring where(Name = field(“Journal Template Name”))); not editable
23 Suggest Balancing Amount Δ BC29 Boolean Specifies if the Amount field on journal lines for the same document number is automatically prefilled with the value that is required to balance the document.
28 Pending Approval Boolean — not editable
31 Copy to Posted Jnl. Lines Δ BC29 Boolean Specifies whether the journal lines to be copied to posted journal lines of the selected journal batch.
40 No. of Lines + BC28 Integer Specifies the number of lines in this journal batch. FlowField: count(“Gen. Journal Line” where(“Journal Template Name” = field(“Journal Template Name”), “Journal Batch Name” = field(Name))); not editable
8001 Last Modified DateTime DateTime —
8002 BalAccountId Guid — DataClassification SystemMetadata

Keys

  • Key1: Journal Template Name, Name (clustered)

Events published

  • OnGeneralJournalBatchBalanced() Δ BC24 (integration): Integration event that occurs when a general journal batch is balanced (total balance equals zero). Allows customization of behavior when journal batches achieve balance validation.
  • OnGeneralJournalBatchNotBalanced() Δ BC24 (integration): Integration event that occurs when a general journal batch is not balanced (total balance is not zero). Allows customization of error handling or warnings when journal batches fail balance validation.
  • OnCheckGenJournalLineExportRestrictions() Δ BC24 (integration)
  • OnMoveGenJournalBatch(ToRecordID: RecordID) Δ BC24 (integration)
  • OnAfterSetupNewBatch(var GenJnlBatch: Record "Gen. Journal Batch") (integration): Integration event raised after setting up a new journal batch with default configuration. Enables custom initialization of batch settings and default values.
  • OnBeforeCheckJnlIsNotRecurring(var GenJournalBatch: Record "Gen. Journal Batch"; var IsHandled: Boolean) (integration): Integration event raised before checking if journal batch is not recurring type. Enables custom validation logic for recurring journal restrictions.
  • OnBeforeModifyLines(var GenJournalBatch: Record "Gen. Journal Batch"; i: Integer; var IsHandled: Boolean) (integration): Integration event raised before modifying journal lines when batch settings change. Enables custom handling of line updates during batch modification.
  • OnBeforeNoSeriesValidate(var GenJournalBatch: Record "Gen. Journal Batch"; var IsHandled: Boolean) (integration): Integration event raised before validating number series assignment on journal batch. Enables custom number series validation logic and assignment rules.
  • OnBeforeSetupNewBatch(GenJournalBatch: Record "Gen. Journal Batch"; var IsHandled: Boolean) (integration): Integration event raised before setting up a new journal batch configuration. Enables custom batch creation logic and default value assignment.
  • OnGetBalanceOnAfterSetGenJournalLineFilters(var GenJournalLine: Record "Gen. Journal Line") (integration): Integration event raised after setting filters on journal lines during balance calculation. Enables additional filtering criteria for balance computation.

Trigger event subscribers

Procedures

  • SetupNewBatch(): Sets up a new journal batch with default values from the journal template. Copies configuration settings like balancing account, number series, and reason codes from the template.
  • LinesExist(): Boolean: Checks whether any journal lines exist for this journal batch. Used for validation before allowing batch deletion or modification.
  • GetBalance(): Decimal: Calculates the total balance of all journal lines in this batch. Returns the sum of Balance (LCY) field for all lines in the batch.
  • CheckBalance(): Decimal: Checks the balance of the journal batch and triggers appropriate events. Calls OnGeneralJournalBatchBalanced if balanced, OnGeneralJournalBatchNotBalanced if not.
  • UpdateBalAccountId(): Updates the Bal. Account Id field based on the current balancing account number and type. Synchronizes the system ID field with the referenced G/L Account record.

Plus 4 local procedures.

Triggers

OnDelete, OnInsert, OnModify, OnRename

Relations

Referenced by

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

Pages and codeunits on this table

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 1535 “Approvals Mgmt.” (3 calls: OnDelete → PreventDeletingRecordWithOpenApprovalEntry, OnModify → PreventModifyRecIfOpenApprovalEntryExistForCurrentUser, OnRename → OnRenameRecordInApprovalRequest)

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 Batch"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources