Table 232 "Gen. Journal Batch"
Base Application · Microsoft.Finance.GeneralLedger.Journal
Across versions
- BC23present
- BC244 events changed, 2 fields changed
- BC25unchanged
- BC262 fields removed
- BC27unchanged
- BC281 fields added
- BC2913 fields changed
- BC30unchanged
Neighbourhood 71 connected objects and pages
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.- subscribers: Codeunit 1520 “Workflow Event Handling” RunWorkflowOnGeneralJournalBatchBalanced
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.- subscribers: Codeunit 1520 “Workflow Event Handling” RunWorkflowOnGeneralJournalBatchNotBalanced
OnCheckGenJournalLineExportRestrictions()Δ BC24 (integration)- subscribers: Codeunit 1550 “Record Restriction Mgt.” GenJournalBatchCheckGenJournalLineExportRestrictions
OnMoveGenJournalBatch(ToRecordID: RecordID)Δ BC24 (integration)- subscribers: Codeunit 1535 “Approvals Mgmt.” PostApprovalEntriesMoveGenJournalBatch
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
- OnAfterDeleteEvent: Codeunit 1535 “Approvals Mgmt.” DeleteApprovalEntriesAfterDeleteGenJournalBatch
- OnAfterRenameEvent: Codeunit 1550 “Record Restriction Mgt.” UpdateGenJournalBatchRestrictionsAfterRename
- OnBeforeDeleteEvent: Codeunit 1550 “Record Restriction Mgt.” RemoveGenJournalBatchRestrictionsBeforeDelete
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
- lookup page Page 251 “General Journal Batches”
- Bank Statement Import Format: TableRelation Table 1200 “Bank Export/Import Setup”
- Bal. Account No.: TableRelation Table 15 “G/L Account” (conditional)
- Bal. Account No.: TableRelation Table 18 “Customer” (conditional)
- Bal. Account No.: TableRelation Table 23 “Vendor” (conditional)
- Reason Code: TableRelation Table 231 “Reason Code”
- Bal. Account No.: TableRelation Table 270 “Bank Account” (conditional)
- No. Series: TableRelation Table 308 “No. Series”
- Posting No. Series: TableRelation Table 308 “No. Series”
- Recurring: CalcFormula Table 80 “Gen. Journal Template”
- Template Type: CalcFormula Table 80 “Gen. Journal Template”
- Journal Template Name: TableRelation Table 80 “Gen. Journal Template”
- No. of Lines: CalcFormula Table 81 “Gen. Journal Line”
Referenced by
32 fields in 27 objects relate to this table (TableRelation or CalcFormula).
- Table 98 “General Ledger Setup”: Adjust ARC Jnl. Batch Name, Apply Jnl. Batch Name, Bank Acc. Recon. Batch Name, Job WIP Jnl. Batch Name
- Table 311 “Sales & Receivables Setup”: Fin. Charge Jnl. Batch Name, Reminder Journal Batch Name
- Table 81 “Gen. Journal Line”: Journal Batch Id, Journal Batch Name
- Table 109 “Net Balances Parameters”: Journal Batch Name
- Table 1104 “Cost Entry”: Batch Name
- Table 1226 “Payment Export Data”: General Journal Batch Name
- Table 1228 “Payment Jnl. Export Error Text”: Journal Batch Name
- Table 131 “Incoming Documents Setup”: General Journal Batch Name
- Table 1523 “Workflow Step Argument”: General Journal Batch Name
- Table 1660 “Payroll Setup”: General Journal Batch Name
- Table 1690 “Bank Deposit Header”: Journal Batch Name
- Table 1804 “Approval Workflow Wizard”: Journal Batch Name
- Table 181 “Posted Gen. Journal Line”: Journal Batch Id
- Table 183 “Copy Gen. Journal Parameters”: Journal Batch Name
- Table 221 “Gen. Jnl. Allocation”: Journal Batch Name
- Table 313 “Inventory Setup”: Invt. Cost Jnl. Batch Name
- Table 357 “Gen. Jnl. Dim. Filter”: Journal Batch Name
- Table 443 “IC Setup”: Default IC Gen. Jnl. Batch
- Table 5466 “API Entities Setup”: Customer Payments Batch Name
- Table 5605 “FA Journal Setup”: Gen. Jnl. Batch Name
- Table 579 “Apply Unapply Parameters”: Journal Batch Name
- Table 6103 “E-Document Service”: General Journal Batch Name
- Table 7250 “Bank Acc. Rec. AI Proposal”: Journal Batch Name
- Table 7252 “Trans. to G/L Acc. Jnl. Batch”: Journal Batch Name
- Table 8051 “Subscription Contract Setup”: Def. Rel. Jnl. Batch Name
- Table 980 “Payment Registration Setup”: Journal Batch Name
- Table extension 6796 “Withholding Purch Setup Ext”: WHT Post Dated Check Batch
Pages and codeunits on this table
- Page 20013 “APIV1 - Cust. Paym. Journals” (source table)
- Page 20016 “APIV1 - Journals” (source table)
- Page 251 “General Journal Batches” (source table)
- Page 30013 “APIV2 - Cust. Paym. Journals” (source table)
- Page 30016 “APIV2 - Journals” (source table)
- Page 30061 “APIV2 - Vendor Paym. Journals” (source table)
- Page 6406 “Gen. Journal Batch Entity” (source table)
- Codeunit 233 “Gen. Jnl.-B.Post” (codeunit runs on it)
- Codeunit 234 “Gen. Jnl.-B.Post+Print” (codeunit runs on it)
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 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.