---
id: object/table/207
type: object
title: Table 207 "Res. Journal Line"
summary: Table 207 "Res. Journal Line" in Base Application (Microsoft.Projects.Resources.Journal). 41 fields, 23 public procedures, 17 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  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: 1bc7b3b1d894b67b93fb04a78c450cbea751a2cfa3d4e58cdc0f1f8b31a2cd50
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Projects/Resources/Journal/ResJournalLine.Table.al
    title: src/Layers/W1/BaseApp/Projects/Resources/Journal/ResJournalLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/projects-how-use-resources
    - https://learn.microsoft.com/dynamics365/business-central/ui-work-general-journals
    - https://learn.microsoft.com/dynamics365/business-central/projects-manage-projects
    - https://learn.microsoft.com/dynamics365/business-central/projects-setup-projects
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/manage-payables/make-payments
    - topic/business-central/business-functionality/general-business-functionality
    - topic/business-central/business-functionality/project-management
    - topic/business-central/business-functionality/set-up-business-central/set-up-project-management
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 207
name: Res. Journal Line
namespace: Microsoft.Projects.Resources.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"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 41
  procedures: 43
  events: 17
  subscribers: 0
relations:
  out: 18
  referenced_by: 1
  pages: 3
  extended_by: 2
  event_subscribers: 2
  calls: 4
  called_by: 0
  implements: 0
---

# Table 207 "Res. Journal Line"

> Table 207 "Res. Journal Line" in Base Application (Microsoft.Projects.Resources.Journal). 41 fields, 23 public procedures, 17 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.

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

Learn documents this table through its pages: [Page 207 "Resource Journal"](../page/207.md) (2 Learn pages), [Page 290 "Recurring Resource Jnl."](../page/290.md) (2).

## Properties

| Property | Value |
|---|---|
| Caption | Res. Journal Line |
| 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 206 "Res. Journal Template"](../table/206.md) (Res. Journal Template) |
| 2 | Line No. | Integer | — |  |
| 3 | Entry Type | Enum "Res. Journal Line Entry Type" | Specifies an entry type for each line. | enum [Enum 208 "Res. Journal Line Entry Type"](../enum/208.md) |
| 4 | Document No. | Code[20] | Specifies a document number for the journal line. |  |
| 5 | Posting Date | Date | Specifies the date when you want to assign. |  |
| 6 | Resource No. | Code[20] | Specifies the number of the resource that you want to post an entry for. | TableRelation [Table 156 "Resource"](../table/156.md) |
| 7 | Resource Group No. | Code[20] | Specifies the resource group that this resource is assigned to. | TableRelation [Table 152 "Resource Group"](../table/152.md) (Resource Group); not editable |
| 8 | Description | Text[100] | Specifies the description or name of the resource you chose in the Resource No. field. |  |
| 9 | Work Type Code | Code[10] | Specifies which work type the resource applies to. Prices are updated based on this entry. | TableRelation [Table 200 "Work Type"](../table/200.md) (Work Type) |
| 10 | Job No. | Code[20] | Specifies the number of the related project. | TableRelation [Table 167 "Job"](../table/167.md) |
| 11 | Unit of Measure Code | Code[10] | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. | TableRelation [Table 205 "Resource Unit of Measure"](../table/205.md) ("Resource Unit of Measure".Code where("Resource No." = field("Resource No."))) |
| 12 | Quantity | Decimal | Specifies the number of units of the item or resource specified on the line. |  |
| 13 | Direct Unit Cost | Decimal | Specifies the cost of one unit of the selected item or resource. |  |
| 14 | Unit Cost | Decimal | Specifies the cost of one unit of the item or resource on the line. |  |
| 15 | Total Cost | Decimal | Specifies the total cost for this journal line. |  |
| 16 | Unit Price | Decimal | Specifies the price of one unit of the item or resource. You can enter a price manually or have it entered according to the Price/Profit Calculation field on the related card. |  |
| 17 | Total Price | Decimal | Specifies the total price on the journal line. |  |
| 18 | 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))) |
| 19 | 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))) |
| 21 | Source Code | Code[10] | — | TableRelation [Table 230 "Source Code"](../table/230.md) (Source Code); not editable |
| 23 | Journal Batch Name | Code[10] | — | TableRelation [Table 236 "Res. Journal Batch"](../table/236.md) ("Res. Journal Batch".Name where("Journal Template Name" = field("Journal Template Name"))) |
| 24 | 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) |
| 25 | Recurring Method | Option | Specifies what happens to the quantity on the journal line after posting. | OptionCaption: ,Fixed,Variable |
| 26 | Expiration Date | Date | Specifies the last date when a recurring journal can be posted. |  |
| 27 | Recurring Frequency | DateFormula | Specifies a recurring frequency if you have indicated in the Recurring field of the Res. Journal Template the journal is recurring. |  |
| 28 | 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) |
| 29 | 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) |
| 30 | Document Date | Date | Specifies the date when the related document was created. |  |
| 31 | External Document No. | Code[35] | Specifies a document number that refers to the customer's or vendor's numbering system. |  |
| 32 | Posting No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 33 | Source Type | Enum "Res. Journal Line Source Type" | — | enum [Enum 207 "Res. Journal Line Source Type"](../enum/207.md) |
| 34 | Source No. | Code[20] | — | TableRelation if ("Source Type" = const(Customer)) Customer."No." |
| 35 | Qty. per Unit of Measure | Decimal | — |  |
| 90 | Order Type | Enum "Inventory Order Type" | — | enum [Enum 90 "Inventory Order Type"](../enum/90.md); not editable |
| 91 | Order No. | Code[20] | — | not editable |
| 92 | Order Line No. | Integer | — | not editable |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 950 | Time Sheet No. | Code[20] | Specifies the number of a time sheet. | TableRelation [Table 950 "Time Sheet Header"](../table/950.md) (Time Sheet Header) |
| 951 | Time Sheet Line No. | Integer | Specifies the line number for a time sheet. | TableRelation [Table 951 "Time Sheet Line"](../table/951.md) ("Time Sheet Line"."Line No." where("Time Sheet No." = field("Time Sheet No."))) |
| 952 | Time Sheet Date | Date | Specifies the date when a time sheet is created. | TableRelation [Table 952 "Time Sheet Detail"](../table/952.md) ("Time Sheet Detail".Date where("Time Sheet No." = field("Time Sheet No."), "Time Sheet Line No." = field("Time Sheet Line No."))) |
| 959 | System-Created Entry | Boolean | — | not editable |

## Keys

- Key1: Journal Template Name, Journal Batch Name, Line No. (clustered)

## Events published

- `OnAfterInitDefaultDimensionSources(var ResJournalLine: Record "Res. Journal Line"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer)` (integration)
- `OnAfterCreateDimProcedure(var ResJournalLine: Record "Res. Journal Line"; CurrFieldNo: Integer; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; xResJournalLine: Record "Res. Journal Line"; OldDimSetID: Integer)` (integration)
- `OnAfterCopyResJnlLineFromSalesHeader(var SalesHeader: Record "Sales Header"; var ResJournalLine: Record "Res. Journal Line")` (integration)
- `OnAfterCopyResJnlLineFromSalesLine(var SalesLine: Record "Sales Line"; var ResJnlLine: Record "Res. Journal Line")` (integration)
  - subscribers: [Codeunit 5012 "Service Declaration Mgt."](../codeunit/5012.md) OnAfterCopyResJnlLineFromSalesLine
- `OnAfterCopyResJnlLineFromJobJnlLine(var ResJnlLine: Record "Res. Journal Line"; var JobJnlLine: Record "Job Journal Line")` (integration)
- `OnAfterSetUpNewLine(var ResJournalLine: Record "Res. Journal Line"; LastResJournalLine: Record "Res. Journal Line")` (integration)
- `OnAfterShowDimensions(var ResJnlLine: Record "Res. Journal Line")` (integration)
- `OnAfterValidateShortcutDimCode(var ResJournalLine: Record "Res. Journal Line"; xResJournalLine: Record "Res. Journal Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnBeforeFindResPrice(ResJournalLine: Record "Res. Journal Line"; var ResourcePrice: Record "Resource Price")` (integration)
- `OnBeforeValidateShortcutDimCode(var ResJournalLine: Record "Res. Journal Line"; xResJournalLine: Record "Res. Journal Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnAfterCopyResJnlLineFromPurchaseHeader(PurchaseHeader: Record "Purchase Header"; var ResJournalLine: Record "Res. Journal Line")` (integration)
- `OnAfterCopyResJnlLineFromPurchaseLine(PurchaseLine: Record "Purchase Line"; var ResJournalLine: Record "Res. Journal Line")` (integration)
  - subscribers: [Codeunit 5012 "Service Declaration Mgt."](../codeunit/5012.md) OnAfterCopyResJnlLineFromPurchaseLine
- `OnAfterGetLineWithPrice(var LineWithPrice: Interface "Line With Price")` (integration)
- `OnValidateResourceNoOnAfterChecks(var Resource: Record Resource; var ResJournalLine: Record "Res. Journal Line"; xResJournalLine: Record "Res. Journal Line")` (integration)
- `OnAfterInitResourceCost(var ResJournalLine: Record "Res. Journal Line"; var ResourceCost: Record "Resource Cost")` (integration)
- `OnAfterFindResUnitCost(var ResJournalLine: Record "Res. Journal Line"; var ResourceCost: Record "Resource Cost")` (integration)
- `OnAfterFindResPrice(var ResJournalLine: Record "Res. Journal Line"; var ResPrice: Record "Resource Price")` (integration)

## Procedures

- `FindResUnitCost(CalledByFieldNo: Integer)`
- `FindResPrice(CalledByFieldNo: Integer)`
- `GetLineWithPrice(var LineWithPrice: Interface "Line With Price")`
- `AfterFindResUnitCost(var ResourceCost: Record "Resource Cost")`
- `AfterFindResPrice(var ResourcePrice: Record "Resource Price")`
- `BeforeFindResPrice(var ResourcePrice: Record "Resource Price")`
- `EmptyLine(): Boolean`
- `SetUpNewLine(LastResJnlLine: Record "Res. Journal Line")`
- `CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])`
- `ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `LookupShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20])`
- `CopyDocumentFields(DocNo: Code[20]; ExtDocNo: Text[35]; SourceCode: Code[10]; NoSeriesCode: Code[20])`
- `CopyFromSalesHeader(SalesHeader: Record "Sales Header")`
- `CopyFromSalesLine(SalesLine: Record "Sales Line")`
- `CopyFromJobJnlLine(JobJnlLine: Record "Job Journal Line")`
- `ShowDimensions()`
- `IsOpenedFromBatch(): Boolean`
- `CopyFrom(PurchaseHeader: Record "Purchase Header")`
- `SwitchLinesWithErrorsFilter(var ShowAllLinesEnabled: Boolean)`
- `CopyFrom(PurchaseLine: Record "Purchase Line")`
- `CreateDimFromDefaultDim(FieldNo: Integer)`
- `AfterInitResourceCost(var ResourceCost: Record "Resource Cost")`

Plus 3 local procedures.

## Triggers

OnInsert

## Relations

- Resource Group No.: TableRelation [Table 152 "Resource Group"](../table/152.md)
- Resource No.: TableRelation [Table 156 "Resource"](../table/156.md)
- Job No.: TableRelation [Table 167 "Job"](../table/167.md)
- Work Type Code: TableRelation [Table 200 "Work Type"](../table/200.md)
- Unit of Measure Code: TableRelation [Table 205 "Resource Unit of Measure"](../table/205.md)
- Journal Template Name: TableRelation [Table 206 "Res. Journal Template"](../table/206.md)
- Source Code: TableRelation [Table 230 "Source Code"](../table/230.md)
- Reason Code: TableRelation [Table 231 "Reason Code"](../table/231.md)
- Journal Batch Name: TableRelation [Table 236 "Res. Journal Batch"](../table/236.md)
- Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Posting No. Series: TableRelation [Table 308 "No. Series"](../table/308.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)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Time Sheet No.: TableRelation [Table 950 "Time Sheet Header"](../table/950.md)
- Time Sheet Line No.: TableRelation [Table 951 "Time Sheet Line"](../table/951.md)
- Time Sheet Date: TableRelation [Table 952 "Time Sheet Detail"](../table/952.md)

## Referenced by

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

- [Table 236 "Res. Journal Batch"](../table/236.md): No. of Lines

## Pages and codeunits on this table

- [Page 207 "Resource Journal"](../page/207.md) (source table)
- [Page 290 "Recurring Resource Jnl."](../page/290.md) (source table)
- [Page 9123 "Res. Journal Errors Factbox"](../page/9123.md) (source table)
- [Codeunit 211 "Res. Jnl.-Check Line"](../codeunit/211.md) (codeunit runs on it)
- [Codeunit 212 "Res. Jnl.-Post Line"](../codeunit/212.md) (codeunit runs on it)
- [Codeunit 213 "Res. Jnl.-Post Batch"](../codeunit/213.md) (codeunit runs on it)
- [Codeunit 271 "Res. Jnl.-Post"](../codeunit/271.md) (codeunit runs on it)
- [Codeunit 272 "Res. Jnl.-Post+Print"](../codeunit/272.md) (codeunit runs on it)

## Extended by

- [Table extension 5038 "Serv. Decl. Res. Jnl. Line"](../tableextension/5038.md)
- [Table extension 6279 "Sust. Resource Journal Line"](../tableextension/6279.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`, `LookupShortcutDimCode → LookupDimValueCode`, …)
- [Codeunit 7001 "Price Calculation Mgt."](../codeunit/7001.md) (1 call: `FindPrice → GetHandler`)
- [Codeunit 9076 "Res. Journal Errors Mgt."](../codeunit/9076.md) (1 call: `SwitchLinesWithErrorsFilter → GetErrorMessages`)
- [Page 456 "No. Series"](../page/456.md) (1 call: `SetUpNewLine → (object)`)

## Across versions

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

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