---
id: object/table/80
type: object
title: Table 80 "Gen. Journal Template"
summary: Table 80 "Gen. Journal Template" in Base Application (Microsoft.Finance.GeneralLedger.Journal). 31 fields, 3 events. Present since at least BC23, still in BC30, changed in BC24-25, BC28-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: 61b7f61e30101f79e02dd947966eee4d7ed2627a6371d196227af2225019b853
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Journal/GenJournalTemplate.Table.al
    title: src/Layers/W1/BaseApp/Finance/GeneralLedger/Journal/GenJournalTemplate.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/ui-work-general-journals
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/manage-payables/make-payments
    - topic/business-central/business-functionality/general-business-functionality
  localizations:
    - localization/es
    - localization/nl
    - localization/ru
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 80
name: Gen. Journal Template
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"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries:
  - es
  - nl
  - ru
ms_search_form_ids: []
counts:
  fields: 31
  procedures: 5
  events: 3
  subscribers: 0
relations:
  out: 9
  referenced_by: 55
  pages: 2
  extended_by: 0
  event_subscribers: 1
  calls: 1
  called_by: 0
  implements: 0
---

# Table 80 "Gen. Journal Template"

> Table 80 "Gen. Journal Template" in Base Application (Microsoft.Finance.GeneralLedger.Journal). 31 fields, 3 events. Present since at least BC23, still in BC30, changed in BC24-25, BC28-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/GenJournalTemplate.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 101 "General Journal Templates"](../page/101.md) (1 Learn page), [Page 250 "General Journal Template List"](../page/250.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Gen. Journal Template |
| 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 | Name | Code[10] | Specifies the name of the journal template you are creating. | NotBlank |
| 2 | Description | Text[80] | Specifies a brief description of the journal template you are creating. |  |
| 5 | Test Report ID | Integer | Specifies the test report that is printed when you click Test Report. | TableRelation AllObjWithCaption."Object ID" where("Object Type" = const(Report)) |
| 6 | Page ID | Integer | Specifies the number of the page that is used to show the journal or worksheet that uses the template. | TableRelation AllObjWithCaption."Object ID" where("Object Type" = const(Page)) |
| 7 | Posting Report ID | Integer | Specifies the posting report that is printed when you choose Post and Print. | TableRelation AllObjWithCaption."Object ID" where("Object Type" = const(Report)) |
| 8 | Force Posting Report | Boolean | Specifies whether a report is printed automatically when you post. |  |
| 9 | Type | Enum "Gen. Journal Template Type" | Specifies the journal type. | enum [Enum 89 "Gen. Journal Template Type"](../enum/89.md) |
| 10 | Source Code | Code[10] | Specifies the source code that specifies where the entry was created. | TableRelation [Table 230 "Source Code"](../table/230.md) (Source Code) |
| 11 | 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) |
| 12 | Recurring | Boolean | Specifies whether the journal template will be a recurring journal. |  |
| 15 | Test Report Caption | Text[250] | Specifies the name of the test report that is printed when you print a journal under this journal template. | FlowField: lookup(AllObjWithCaption."Object Caption" where("Object Type" = const(Report), "Object ID" = field("Test Report ID"))); not editable |
| 16 | Page Caption | Text[250] | Specifies the displayed name of the journal or worksheet that uses the template. | FlowField: lookup(AllObjWithCaption."Object Caption" where("Object Type" = const(Page), "Object ID" = field("Page ID"))); not editable |
| 17 | Posting Report Caption | Text[250] | Specifies the name of the report that is printed when you print the journal. | FlowField: lookup(AllObjWithCaption."Object Caption" where("Object Type" = const(Report), "Object ID" = field("Posting Report ID"))); not editable |
| 18 | Force Doc. Balance | Boolean | Specifies whether transactions that are posted in the general journal must balance by document number and document type, in addition to balancing by date. |  |
| 19 | 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) |
| 20 | Bal. Account No. | Code[20] | Specifies the number of the general ledger, customer, vendor, or bank account that the balancing entry is posted to, such as a cash account for cash purchases. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 18 "Customer"](../table/18.md), [Table 23 "Vendor"](../table/23.md) (if ("Bal. Account Type" = const("G/L Account")) "G/L Account" else if ("Bal. Account Type" = const(Customer)) Customer else if ("Bal. Account Type" = const(Vendor)) Vendor else if ("Bal. Account Type" = const("Bank Account")) "Bank Account" else if ("Bal. Account Type" = const("Fixed Asset")) "Fixed...) |
| 21 | No. Series | Code[20] | Specifies the number series from which entry or record numbers are assigned to new entries or records. | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 22 | Posting No. Series | Code[20] | Specifies the code for the number series that will be used to assign document numbers to ledger entries that are posted from journals using this template. | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 23 | Copy VAT Setup to Jnl. Lines | Boolean | Specifies whether the program to calculate VAT for accounts and balancing accounts on the journal line of the selected journal template. |  |
| 24 | Allow VAT Difference | Boolean | Specifies whether to allow the manual adjustment of VAT amounts in journals. |  |
| 25 | Cust. Receipt Report ID | Integer | Specifies how to print customer receipts when you post. | TableRelation AllObjWithCaption."Object ID" where("Object Type" = const(Report)) |
| 26 | Cust. Receipt Report Caption | Text[250] | Specifies how to print customer receipts when you post. | FlowField: lookup(AllObjWithCaption."Object Caption" where("Object Type" = const(Report), "Object ID" = field("Cust. Receipt Report ID"))); not editable |
| 27 | Vendor Receipt Report ID | Integer | Specifies how to print vendor receipts when you post. | TableRelation AllObjWithCaption."Object ID" where("Object Type" = const(Report)) |
| 28 | Vendor Receipt Report Caption | Text[250] | Specifies how to print vendor receipts when you post. | FlowField: lookup(AllObjWithCaption."Object Caption" where("Object Type" = const(Report), "Object ID" = field("Vendor Receipt Report ID"))); not editable |
| 30 | Increment Batch Name | Boolean | Specifies if batch names using this template are automatically incremented. Example: The posting following BATCH001 is automatically named BATCH002. |  |
| 31 | Copy to Posted Jnl. Lines | Boolean | Specifies whether the journal lines to be copied to posted journal lines of the selected journal template. |  |
| 32 | Allow Posting Date From | Date | Specifies the earliest date when posting to the journal template is allowed. |  |
| 33 | Allow Posting Date To | Date | Specifies the last date when posting to the journal template is allowed. |  |
| 34 | Unlink Inc. Doc On Posting | Boolean | Specifies whether the the incoming document will be unlinked from the journal when it is posted. |  |
| 35 | Allow Posting From DateFormula | DateFormula | Allow Posting From Date Formula <small>caption</small> |  |
| 36 | Allow Posting To DateFormula | DateFormula | Allow Posting To Date Formula <small>caption</small> |  |

## Keys

- Key1: Name (clustered)
- Key2: Type, Bal. Account Type, Bal. Account No.
- Key3: Type, Recurring, No. Series

## Events published

- `OnAfterValidateType(var GenJournalTemplate: Record "Gen. Journal Template"; SourceCodeSetup: Record "Source Code Setup")` (integration): Integration event that occurs after validating the journal template type. Allows customization of template behavior based on type changes and source code setup configuration.
  - subscribers: [Codeunit 1695 "Bank Deposit Subscribers"](../codeunit/1695.md) OnAfterValidateType
- `OnBeforeNoSeriesValidate(var GenJournalTemplate: Record "Gen. Journal Template"; var IsHandled: Boolean)` (integration): Integration event that occurs before validating number series configuration for the journal template. Allows custom handling of number series validation logic and error prevention.
- `OnAfterCheckGLAcc(var GenJournalTemplate: Record "Gen. Journal Template"; GLAccount: Record "G/L Account")` (integration): Integration event that occurs after checking G/L Account configuration for the journal template. Allows additional validation or processing based on the associated G/L Account settings.

## Procedures

2 local procedures, no public ones.

## Triggers

OnDelete, OnInsert

## Relations

- lookup page [Page 250 "General Journal Template List"](../page/250.md)
- Bal. Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- Bal. Account No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Bal. Account 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)
- Bal. Account No.: TableRelation [Table 270 "Bank Account"](../table/270.md) (conditional)
- No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Posting No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)

## Referenced by

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

- [Table 311 "Sales & Receivables Setup"](../table/311.md): Fin. Charge Jnl. Template Name, IC Sales Cr. Memo Templ. Name, IC Sales Invoice Template Name, Reminder Journal Template Name, S. Cr. Memo Template Name, S. Invoice Template Name, S. Prep. Cr.Memo Template Name, S. Prep. Inv. Template Name
- [Table 312 "Purchases & Payables Setup"](../table/312.md): IC Purch. Cr. Memo Templ. Name, IC Purch. Invoice Templ. Name, P. Cr. Memo Template Name, P. Invoice Template Name, P. Prep. Cr.Memo Template Name, P. Prep. Inv. Template Name
- [Table 5911 "Service Mgt. Setup"](../table/5911.md): Serv. Contr. Cr.M. Templ. Name, Serv. Contr. Inv. Templ. Name, Serv. Cr. Memo Templ. Name, Serv. Inv. Template Name
- [Table 98 "General Ledger Setup"](../table/98.md): Adjust ARC Jnl. Template Name, Apply Jnl. Template Name, Bank Acc. Recon. Template Name, Job WIP Jnl. Template Name
- [Table 232 "Gen. Journal Batch"](../table/232.md): Recurring, Template Type, Journal Template Name
- [Table 109 "Net Balances Parameters"](../table/109.md): Journal Template Name
- [Table 1226 "Payment Export Data"](../table/1226.md): General Journal Template
- [Table 1228 "Payment Jnl. Export Error Text"](../table/1228.md): Journal Template Name
- [Table 131 "Incoming Documents Setup"](../table/131.md): General Journal Template Name
- [Table 1523 "Workflow Step Argument"](../table/1523.md): General Journal Template Name
- [Table 1660 "Payroll Setup"](../table/1660.md): General Journal Template Name
- [Table 1690 "Bank Deposit Header"](../table/1690.md): Journal Template Name
- [Table 182 "Posted Gen. Journal Batch"](../table/182.md): Journal Template Name
- [Table 183 "Copy Gen. Journal Parameters"](../table/183.md): Journal Template Name
- [Table 221 "Gen. Jnl. Allocation"](../table/221.md): Journal Template Name
- [Table 313 "Inventory Setup"](../table/313.md): Invt. Cost Jnl. Template Name
- [Table 357 "Gen. Jnl. Dim. Filter"](../table/357.md): Journal Template Name
- [Table 36 "Sales Header"](../table/36.md): Journal Templ. Name
- [Table 38 "Purchase Header"](../table/38.md): Journal Templ. Name
- [Table 443 "IC Setup"](../table/443.md): Default IC Gen. Jnl. Template
- [Table 5605 "FA Journal Setup"](../table/5605.md): Gen. Jnl. Template Name
- [Table 579 "Apply Unapply Parameters"](../table/579.md): Journal Template Name
- [Table 5900 "Service Header"](../table/5900.md): Journal Templ. Name
- [Table 6010 "Service Header Archive"](../table/6010.md): Journal Templ. Name
- [Table 6103 "E-Document Service"](../table/6103.md): General Journal Template Name
- [Table 6756 "Issue Reminders Setup"](../table/6756.md): Journal Template Name
- [Table 7250 "Bank Acc. Rec. AI Proposal"](../table/7250.md): Journal Template Name
- [Table 7252 "Trans. to G/L Acc. Jnl. Batch"](../table/7252.md): Journal Template Name
- [Table 750 "Standard General Journal"](../table/750.md): Journal Template Name
- [Table 751 "Standard General Journal Line"](../table/751.md): Journal Template Name
- [Table 8051 "Subscription Contract Setup"](../table/8051.md): Def. Rel. Jnl. Template Name
- [Table 81 "Gen. Journal Line"](../table/81.md): Journal Template Name
- [Table 980 "Payment Registration Setup"](../table/980.md): Journal Template Name
- [Table extension 4701 "VAT Report Setup Extension"](../tableextension/4701.md): Group Settle. Gen. Jnl. Templ.
- [Table extension 6796 "Withholding Purch Setup Ext"](../tableextension/6796.md): WHT Post Dated Check Template

## Pages and codeunits on this table

- [Page 101 "General Journal Templates"](../page/101.md) (source table)
- [Page 250 "General Journal Template List"](../page/250.md) (source 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 5700 "User Setup Management"](../codeunit/5700.md) (1 call: `CheckDateRange → GetDateRange`)

## Across versions

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

## Countries that replace it

[ES](../../localizations/es.md), [NL](../../localizations/nl.md), [RU](../../localizations/ru.md)

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

## Ask your agent

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