---
title: "Codeunit 1001 Job Post-Line"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/1001-job-post-line/
type: codeunit
id: 1001
name: "Job Post-Line"
app: "Base Application"
namespace: Microsoft.Projects.Project.Posting
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/1001-job-post-line/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 1001 Job Post-Line

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/1001-job-post-line/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Projects.Project.Posting |
| Versions | 17-28 |
| Source file | Projects/Project/Posting/JobPostLine.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| InsertPlLineFromLedgEntry | (Record Job Ledger Entry) | - | public | 17-20 | - | - |
| PostPlanningLine | (Record Job Planning Line) | - | public | 17-20 | - | - |
| PostInvoiceContractLine | (Record Sales Header, Record Sales Line) | - | public | 17-28 | - | - |
| PostJobOnSalesLine | (Record Job Planning Line, Record Sales Header, Record Sales Line, Option) | - | public | 17-19 | Pending 17.0 | EntryType parameter converted to Enum |
| PostJobOnSalesLine | (Record Job Planning Line, Record Sales Header, Record Sales Line, Enum Job Journal Line Entry Type) | - | public | 17-28 | - | - |
| CalcLineAmountLCY | (Record Job Planning Line, Decimal) | Decimal | public | 17-28 | - | - |
| PostGenJnlLine | (Record Gen. Journal Line, Record G/L Entry) | - | public | 17-28 | - | - |
| PostJobOnPurchaseLine | (var Record Purchase Header, var Record Purch. Inv. Header, var Record Purch. Cr. Memo Hdr., Record Purchase Line, Code[10]) | - | public | 17-28 | - | - |
| TestSalesLine | (var Record Sales Line) | - | public | 17-28 | - | - |
| CheckItemQuantityPurchCredit | (var Record Purchase Header, var Record Purchase Line) | - | public | 17-28 | - | - |
| PostPurchaseGLAccounts | (Record Invoice Post. Buffer, Integer) | - | public | 17-25 | Pending 19.0 | Replaced by PostJobPurchaseLines(). |
| PostSalesGLAccounts | (Record Invoice Post. Buffer, Integer) | - | public | 17-25 | Pending 19.0 | Replaced by PostJobSalesLines(). |
| FindNextJobLedgEntryNo | (Record Job Planning Line Invoice) | Integer | public | 17-22 | Pending 20.0 | Replaced by UpdateJobLedgerEntryNoOnJobPlanLineInvoice() |
| PostJobPurchaseLines | (Text, Integer) | - | public | 19-28 | - | - |
| PostJobSalesLines | (Text, Integer) | - | public | 19-28 | - | - |
| InsertPlLineFromLedgEntry | (var Record Job Ledger Entry) | - | public | 21-28 | - | - |
| PostPlanningLine | (var Record Job Planning Line) | - | public | 21-28 | - | - |
| ChangeGLAccNo | (var Record Job Planning Line) | - | public | 22-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterPostInvoiceContractLine | (var Record Sales Header, var Record Sales Line) | 17-28 | - | - |
| Integration event | OnAfterPostPurchaseGLAccounts | (Record Invoice Post. Buffer, var Codeunit Job Jnl.-Post Line, Integer) | 17-26 | Pending 20.0 | Replaced by new implementation in codeunit Purch. Post Invoice |
| Integration event | OnBeforeCheckItemQuantityPurchCredit | (var Record Purchase Header, var Record Purchase Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetBillToCustomer | (var Record Job Planning Line, var Record Customer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeInsertPlLineFromLedgEntry | (var Record Job Ledger Entry, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeJobPlanningLineUpdateQtyToInvoice | (var Record Sales Header, var Record Sales Line, var Record Job Planning Line, var Record Job Planning Line Invoice, Integer) | 17-28 | - | - |
| Integration event | OnBeforePostInvoiceContractLine | (var Record Sales Header, var Record Sales Line) | 17-21 | - | - |
| Integration event | OnBeforePostJobOnPurchaseLine | (var Record Purchase Header, var Record Purch. Inv. Header, var Record Purch. Cr. Memo Hdr., var Record Purchase Line, var Record Job Journal Line, var Boolean, var Record Purchase Line, var Record Job Journal Line, var Code[10]) | 17-28 | - | - |
| Integration event | OnBeforeValidateRelationship | (var Record Sales Header, var Record Sales Line, var Record Job Planning Line, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterJobPlanningLineModify | (var Record Job Planning Line) | 17-28 | - | - |
| Integration event | OnPostGenJnlLineOnAfterTransferToJnlLine | (var Record Job Journal Line, Record Gen. Journal Line, var Codeunit Job Jnl.-Post Line) | 17-28 | - | - |
| Integration event | OnPostInvoiceContractLineBeforeCheckJobLine | (Record Sales Header, var Record Sales Line, var Record Job Planning Line, var Boolean) | 17-28 | - | - |
| Integration event | OnPostInvoiceContractLineOnBeforeCheckBillToCustomer | (Record Sales Header, var Record Sales Line, var Record Job Planning Line, var Boolean) | 17-28 | - | - |
| Integration event | OnPostPurchaseGLAccountsOnAfterTempPurchaseLineJobSetFilters | (var Record Purchase Line, var Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | Replaced by PostJobPurchaseLines(). |
| Integration event | OnPostPurchaseGLAccountsOnBeforeJobJnlPostLine | (var Record Job Journal Line, Record Purchase Line, var Boolean) | 17-26 | Pending 19.0 | Replaced by OnPostJobPurchaseLinesOnBeforeJobJnlPostLine(). |
| Integration event | OnPostSalesGLAccountsOnBeforeJobJnlPostLine | (var Record Job Journal Line, Record Sales Line) | 17-26 | Pending 19.0 | Replaced by OnPostJobSalesLinesOnBeforeJobJnlPostLine(). |
| Integration event | OnValidateRelationshipOnBeforeCheckLineDiscount | (var Record Sales Line, var Record Job Planning Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCheckCurrency | (Record Job, Record Sales Header, Record Job Planning Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeTestSalesLine | (var Record Sales Line, var Boolean) | 18-28 | - | - |
| Integration event | OnAfterPostJobPurchaseLines | (var Record Purchase Line, var Codeunit Job Jnl.-Post Line, Integer) | 19-28 | - | - |
| Integration event | OnPostJobPurchaseLinesOnBeforeJobJnlPostLine | (var Record Job Journal Line, Record Purchase Line, var Boolean) | 19-28 | - | - |
| Integration event | OnPostJobSalesLinesOnBeforeJobJnlPostLine | (var Record Job Journal Line, var Record Sales Line, var Boolean) | 19-28 | - | - |
| Integration event | OnPostJobOnPurchaseLineOnAfterCalcShouldSkipLine | (Record Purchase Line, var Boolean) | 19-28 | - | - |
| Integration event | OnBeforePostGenJnlLine | (var Record Job Journal Line, Record Gen. Journal Line, Record G/L Entry, var Boolean) | 20 | - | - |
| Integration event | OnPostJobOnPurchaseLineOnAfterJobTransferLineFromPurchaseLineToJnlLine | (var Record Purchase Header, var Record Purch. Inv. Header, var Record Purch. Cr. Memo Hdr., Record Purchase Line, var Record Job Journal Line) | 20-28 | - | - |
| Integration event | OnBeforePostGenJnlLine | (var Record Job Journal Line, Record Gen. Journal Line, Record G/L Entry, var Boolean, var Codeunit Job Jnl.-Post Line) | 21-28 | - | - |
| Integration event | OnPostJobPurchaseLinesOnAfterJobJnlPostLine | (var Record Job Journal Line, Record Purchase Line) | 21-28 | - | - |
| Integration event | OnBeforePostInvoiceContractLine | (var Record Sales Header, var Record Sales Line, var Boolean) | 22-28 | - | - |
| Integration event | OnPostInvoiceContractLineOnBeforeJobPlanningLineFindFirst | (var Record Sales Header, var Record Sales Line, var Record Job Planning Line) | 22-28 | - | - |
| Integration event | OnPostGenJnlLineOnBeforeGenJnlCheck | (var Record Job Journal Line, Record Gen. Journal Line, Record G/L Entry, var Boolean) | 22-28 | - | - |
| Integration event | OnPostPlanningLineOnBeforeJobPlanningLineInsert | (var Record Job Planning Line) | 22-28 | - | - |
| Integration event | OnBeforePostPlanningLine | (var Record Job Planning Line) | 22-28 | - | - |
| Integration event | OnPostInvoiceContractLineOnBeforePostJobOnSalesLine | (Record Job Planning Line, Record Job Planning Line Invoice, Record Sales Header, Record Sales Line, var Boolean) | 24-28 | - | - |
| Integration event | OnAfterInsertPlLineFromLedgEntry | (Record Job Ledger Entry, var Record Job Planning Line) | 24-28 | - | - |
| Integration event | OnValidateRelationshipOnUnitCostLCYDifferenceError | (var Record Sales Line, var Record Job Planning Line, var Boolean) | 25-28 | - | - |
| Integration event | OnAfterPostJobOnPurchaseLine | (Record Purchase Line) | 28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
