---
id: object/table/167
type: object
title: Table 167 "Job"
summary: Table 167 "Job" in Base Application (Microsoft.Projects.Project.Job). 105 fields, 57 public procedures, 67 events. Present since at least BC23, still in BC30, changed in BC24-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: c898d1b50a1bbcf9daa3a311eb4c0fbbdbdd4caf4df272c856a009ab8035164d
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Projects/Project/Job/Job.Table.al
    title: src/Layers/W1/BaseApp/Projects/Project/Job/Job.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_project_create
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_project_delete
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_project_get
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_project_update
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/resources/dynamics_project
    - https://learn.microsoft.com/dynamics365/business-central/across-online-maps
    - https://learn.microsoft.com/dynamics365/business-central/projects-assemble-to-project
    - https://learn.microsoft.com/dynamics365/business-central/projects-how-create-jobs
    - https://learn.microsoft.com/dynamics365/business-central/projects-how-monitor-progress-performance
    - https://learn.microsoft.com/dynamics365/business-central/projects-manage-projects
  objects: []
  features: []
  topics:
    - topic/business-central/analytics-business-intelligence-and-repo/built-in-reports/project
    - topic/business-central/business-functionality/general-business-functionality
    - topic/business-central/business-functionality/project-management
    - topic/business-central/business-functionality/project-management/project-management-analytics
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10211
    - change/bcapps/8905
    - change/bcapps/9315
    - change/bcapps/9280
object_type: table
object_id: 167
name: Job
caption: Project
namespace: Microsoft.Projects.Project.Job
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"
  - "27"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 105
  procedures: 170
  events: 67
  subscribers: 0
relations:
  out: 58
  referenced_by: 63
  pages: 17
  extended_by: 2
  event_subscribers: 5
  calls: 16
  called_by: 0
  implements: 0
---

# Table 167 "Job"

> Table 167 "Job" in Base Application (Microsoft.Projects.Project.Job). 105 fields, 57 public procedures, 67 events. Present since at least BC23, still in BC30, changed in BC24-29.

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

Learn documents this table through its pages: [Page 30050 "APIV2 - Jobs"](../page/30050.md) (5 Learn pages), [Page 88 "Job Card"](../page/88.md) (3), [Page 89 "Job List"](../page/89.md) (2).

## Properties

| Property | Value |
|---|---|
| Caption | Project |
| 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 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. |  |
| 2 | Search Description | Code[100] | Specifies the additional name for the project. The field is used for searching purposes. |  |
| 3 | Description | Text[100] | Specifies a short description of the project. |  |
| 4 | Description 2 | Text[50] | — |  |
| 5 | Bill-to Customer No. | Code[20] | Specifies the number of the customer who pays for the project. | TableRelation [Table 18 "Customer"](../table/18.md) |
| 12 | Creation Date | Date | Specifies the date on which you set up the project. | not editable |
| 13 | Starting Date | Date | Specifies the date on which the project actually starts. |  |
| 14 | Ending Date | Date | Specifies the date on which the project is expected to be completed. |  |
| 19 | Status | Enum "Job Status" | Specifies a status for the current project. You can change the status for the project as it progresses. Final calculations can be made on completed projects. | enum [Enum 1619 "Job Status"](../enum/1619.md) |
| 20 | Person Responsible | Code[20] | Specifies the person at your company who is responsible for the project. | TableRelation [Table 156 "Resource"](../table/156.md) (Resource where(Type = const(Person))) |
| 21 | Global Dimension 1 Code | Code[20] | — | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1), Blocked = const(false))) |
| 22 | Global Dimension 2 Code | Code[20] | — | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2), Blocked = const(false))) |
| 23 | Job Posting Group | Code[20] | Specifies the posting group that links transactions made for the project with the appropriate general ledger accounts according to the general posting setup. | TableRelation [Table 208 "Job Posting Group"](../table/208.md) (Job Posting Group) |
| 24 | Blocked | Enum "Job Blocked" | Specifies that the related record is blocked from being posted in transactions, for example a customer that is declared insolvent or an item that is placed in quarantine. | enum [Enum 1624 "Job Blocked"](../enum/1624.md) |
| 29 | Last Date Modified | Date | Specifies when the project card was last modified. | not editable |
| 30 | Comment | Boolean | — | FlowField: exist("Comment Line" where("Table Name" = const(Job), "No." = field("No."))); not editable |
| 31 | Customer Disc. Group | Code[20] | — | TableRelation [Table 340 "Customer Discount Group"](../table/340.md) (Customer Discount Group) |
| 32 | Customer Price Group | Code[10] | — | TableRelation [Table 6 "Customer Price Group"](../table/6.md) (Customer Price Group) |
| 35 | Location Code | Code[10] | Specifies the location code of the project. | TableRelation [Table 14 "Location"](../table/14.md) (Location where("Use As In-Transit" = const(false))) |
| 36 | Bin Code | Code[20] | Specifies a bin code for specific location of the project. | TableRelation [Table 7354 "Bin"](../table/7354.md) (Bin.Code where("Location Code" = field("Location Code"))) |
| 41 | Language Code | Code[10] | Specifies the language to be used on printouts for this project. | TableRelation [Table 8 "Language"](../table/8.md) |
| 49 | Scheduled Res. Qty. | Decimal | — | FlowField: sum("Job Planning Line"."Quantity (Base)" where("Job No." = field("No."), "Schedule Line" = const(true), Type = const(Resource), "No." = field("Resource Filter"), "Planning Date" = field("Planning Date Filter"))); not editable |
| 50 | Resource Filter | Code[20] | — | TableRelation [Table 156 "Resource"](../table/156.md); FlowFilter |
| 51 | Posting Date Filter | Date | — | FlowFilter |
| 55 | Resource Gr. Filter | Code[20] | — | TableRelation [Table 152 "Resource Group"](../table/152.md) (Resource Group); FlowFilter |
| 56 | Scheduled Res. Gr. Qty. | Decimal | — | FlowField: sum("Job Planning Line"."Quantity (Base)" where("Job No." = field("No."), "Schedule Line" = const(true), Type = const(Resource), "Resource Group No." = field("Resource Gr. Filter"), "Planning Date" = field("Planning Date Filter"))); not editable |
| 58 | Bill-to Name | Text[100] | Specifies the name of the customer that you send or sent the invoice or credit memo to. | TableRelation Customer.Name |
| 59 | Bill-to Address | Text[100] | Specifies the address of the customer to whom you will send the invoice. |  |
| 60 | Bill-to Address 2 | Text[50] | Specifies an additional line of the address. |  |
| 61 | Bill-to City | Text[30] | Specifies the city of the address. | TableRelation [Table 225 "Post Code"](../table/225.md) (if ("Bill-to Country/Region Code" = const('')) "Post Code".City else if ("Bill-to Country/Region Code" = filter(<> '')) "Post Code".City where("Country/Region Code" = field("Bill-to Country/Region Code"))) |
| 63 | Bill-to County | Text[30] | Specifies the county code of the customer's billing address. |  |
| 64 | Bill-to Post Code | Code[20] | Specifies the postal code of the customer who pays for the project. | TableRelation [Table 225 "Post Code"](../table/225.md) (if ("Bill-to Country/Region Code" = const('')) "Post Code" else if ("Bill-to Country/Region Code" = filter(<> '')) "Post Code" where("Country/Region Code" = field("Bill-to Country/Region Code"))) |
| 66 | No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series); not editable |
| 67 | Bill-to Country/Region Code | Code[10] | Specifies the country/region code of the customer's billing address. | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 68 | Bill-to Name 2 | Text[50] | Specifies an additional part of the name of the customer who pays for the project. |  |
| 80 | Task Billing Method | Enum "Task Billing Method" | Specify whether to use the customer specified for the project for all tasks or allow people to specify different customers. One customer lets you invoice only the customer specified for the project. Multiple customers lets you invoice customers specified on each task, which can be different customer... | enum [Enum 1004 "Task Billing Method"](../enum/1004.md) |
| 117 | Reserve | Enum "Reserve Method" | — | enum [Enum 100 "Reserve Method"](../enum/100.md) |
| 140 | Image | Media | — |  |
| 210 | Ship-to Phone No. | Text[30] | Specifies the telephone number of the company's shipping address. |  |
| 1000 | WIP Method | Code[20] | Specifies the method that is used to calculate the value of work in process for the project. | TableRelation [Table 1006 "Job WIP Method"](../table/1006.md) ("Job WIP Method".Code where(Valid = const(true))) |
| 1001 | Currency Code | Code[10] | Specifies the currency code for the project. By default, the currency code is empty. If you enter a foreign currency code, it results in the project being planned and invoiced in that currency. | TableRelation [Table 4 "Currency"](../table/4.md) |
| 1002 | Bill-to Contact No. | Code[20] | Specifies the number of the contact person at the customer's billing address. | TableRelation Contact."No." |
| 1003 | Bill-to Contact | Text[100] | Specifies the name of the contact person at the customer who pays for the project. |  |
| 1004 | Planning Date Filter | Date | — | FlowFilter |
| 1005 | Total WIP Cost Amount | Decimal | Specifies the total WIP cost amount that was last calculated for the project. The WIP Cost Amount for the project is the value WIP Cost Project WIP Entries less the value of the Recognized Cost Project WIP Entries. For projects with WIP Methods of Sales Value or Percentage of Completion, the WIP Cos... | FlowField: - sum("Job WIP Entry"."WIP Entry Amount" where("Job No." = field("No."), "Job Complete" = const(false), Type = filter("Accrued Costs" \| "Applied Costs" \| "Recognized Costs"))); not editable |
| 1006 | Total WIP Cost G/L Amount | Decimal | Specifies the total WIP Cost amount that was last posted to the G/L for the project. The WIP Cost Amount for the project is the value WIP Cost Project WIP G/L Entries less the value of the Recognized Cost Project WIP G/L Entries. For projects with WIP Methods of Sales Value or Percentage of Completi... | FlowField: - sum("Job WIP G/L Entry"."WIP Entry Amount" where("Job No." = field("No."), Reversed = const(false), "Job Complete" = const(false), Type = filter("Accrued Costs" \| "Applied Costs" \| "Recognized Costs"))); not editable |
| 1007 | WIP Entries Exist | Boolean | Specifies whether WIP entries exist for the project, indicating that Calculate WIP has been run. | FlowField: exist("Job WIP Entry" where("Job No." = field("No."))) |
| 1008 | WIP Posting Date | Date | Specifies the posting date that was entered when the Project Calculate WIP batch job was last run. | not editable |
| 1009 | WIP G/L Posting Date | Date | Specifies the posting date that was entered when the Project Post WIP to General Ledger batch job was last run. | FlowField: min("Job WIP G/L Entry"."WIP Posting Date" where(Reversed = const(false), "Job No." = field("No."))); not editable |
| 1011 | Invoice Currency Code | Code[10] | Specifies the currency code you want to apply when creating invoices for a project. By default, the invoice currency code for a project is based on what currency code is defined on the customer card. | TableRelation [Table 4 "Currency"](../table/4.md) |
| 1012 | Exch. Calculation (Cost) | Option | Specifies how project costs are calculated if you change the Currency Date or the Currency Code fields on a project planning Line or run the Change Project Planning Line Dates batch job. Fixed LCY option: The project costs in the local currency are fixed. Any change in the currency exchange rate wil... <small>via [Page 88 "Job Card"](../page/88.md)</small> | OptionCaption: Fixed FCY,Fixed LCY |
| 1013 | Exch. Calculation (Price) | Option | Specifies how project sales prices are calculated if you change the Currency Date or the Currency Code fields on a project planning Line or run the Change Project Planning Line Dates batch job. Fixed LCY option: The project prices in the local currency are fixed. Any change in the currency exchange ... <small>via [Page 88 "Job Card"](../page/88.md)</small> | OptionCaption: Fixed FCY,Fixed LCY |
| 1014 | Allow Schedule/Contract Lines | Boolean | Specifies if you can add planning lines of both type Budget and type Billable to the project. |  |
| 1015 | Complete | Boolean | — |  |
| 1017 | Recog. Sales Amount | Decimal | Specifies the recognized sales amount that was last calculated for the project, which is the sum of the Recognized Sales Project WIP Entries. | FlowField: - sum("Job WIP Entry"."WIP Entry Amount" where("Job No." = field("No."), Type = filter("Recognized Sales"))); not editable |
| 1018 | Recog. Sales G/L Amount | Decimal | Specifies the total Recognized Sales amount that was last posted to the general ledger for the project. The Recognized Sales G/L amount for the project is the sum of the Recognized Sales Project WIP G/L Entries. | FlowField: - sum("Job WIP G/L Entry"."WIP Entry Amount" where("Job No." = field("No."), Reversed = const(false), Type = filter("Recognized Sales"))); not editable |
| 1019 | Recog. Costs Amount | Decimal | Specifies the Recognized Cost amount that was last calculated for the project. The Recognized Cost Amount for the project is the sum of the Recognized Cost Project WIP Entries. | FlowField: sum("Job WIP Entry"."WIP Entry Amount" where("Job No." = field("No."), Type = filter("Recognized Costs"))); not editable |
| 1020 | Recog. Costs G/L Amount | Decimal | Specifies the total Recognized Cost amount that was last posted to the general ledger for the project. The Recognized Cost G/L amount for the project is the sum of the Recognized Cost Project WIP G/L Entries. | FlowField: sum("Job WIP G/L Entry"."WIP Entry Amount" where("Job No." = field("No."), Reversed = const(false), Type = filter("Recognized Costs"))); not editable |
| 1021 | Total WIP Sales Amount | Decimal | Specifies the total WIP sales amount that was last calculated for the project. It is calculated as the value in the WIP Sales field minus the value in the Recognized Sales field in the Project WIP Entries page. For projects that use the Cost Value or Cost of Sales WIP methods, the WIP sales amount i... | FlowField: sum("Job WIP Entry"."WIP Entry Amount" where("Job No." = field("No."), "Job Complete" = const(false), Type = filter("Accrued Sales" \| "Applied Sales" \| "Recognized Sales"))); not editable |
| 1022 | Total WIP Sales G/L Amount | Decimal | Specifies the total WIP sales amount that was last posted to the general ledger for the project. The WIP sales amount is the value in the WIP Sales Project WIP G/L Entries page minus the value in the Recognized Sales Project WIP G/L Entries page. For projects with the Cost Value or Cost of Sales WIP... | FlowField: sum("Job WIP G/L Entry"."WIP Entry Amount" where("Job No." = field("No."), Reversed = const(false), "Job Complete" = const(false), Type = filter("Accrued Sales" \| "Applied Sales" \| "Recognized Sales"))); not editable |
| 1023 | WIP Completion Calculated | Boolean | Specifies whether the final WIP calculation has been performed with the project marked as complete. | FlowField: exist("Job WIP Entry" where("Job No." = field("No."), "Job Complete" = const(true))) |
| 1024 | Next Invoice Date | Date | Specifies the next invoice date for the project. | FlowField: min("Job Planning Line"."Planning Date" where("Job No." = field("No."), "Contract Line" = const(true), "Qty. to Invoice" = filter(<> 0))) |
| 1025 | Apply Usage Link | Boolean | Specifies whether usage entries, from the project journal or purchase line, for example, are linked to project planning lines. Select this check box if you want to be able to track the quantities and amounts of the remaining work needed to complete a project and to create a relationship between dema... |  |
| 1026 | WIP Warnings | Boolean | Specifies whether or not there are WIP warnings associated with a project. | FlowField: exist("Job WIP Warning" where("Job No." = field("No."))); not editable |
| 1027 | WIP Posting Method | Option | Specifies how WIP posting is performed. Per Project: The total WIP costs and the sales value is used to calculate WIP. Per Project Ledger Entry: The accumulated values of WIP costs and sales are used to calculate WIP. | OptionCaption: Per Project,Per Project Ledger Entry |
| 1028 | Applied Costs G/L Amount | Decimal | Specifies the sum of all applied costs posted to the general ledger that are related to the project. | FlowField: - sum("Job WIP G/L Entry"."WIP Entry Amount" where("Job No." = field("No."), Reversed = const(false), "Job Complete" = const(false), Type = filter("Applied Costs"))); not editable |
| 1029 | Applied Sales G/L Amount | Decimal | Specifies the sum of all applied sales in the general ledger that are related to the project. | FlowField: - sum("Job WIP G/L Entry"."WIP Entry Amount" where("Job No." = field("No."), Reversed = const(false), "Job Complete" = const(false), Type = filter("Applied Sales"))); not editable |
| 1030 | Calc. Recog. Sales Amount | Decimal | Specifies the sum of the recognized sales amount that is associated with project tasks for the project. | FlowField: sum("Job Task"."Recognized Sales Amount" where("Job No." = field("No."))); not editable |
| 1031 | Calc. Recog. Costs Amount | Decimal | Specifies the sum of the recognized costs amount that is associated with project tasks for the project. | FlowField: sum("Job Task"."Recognized Costs Amount" where("Job No." = field("No."))); not editable |
| 1032 | Calc. Recog. Sales G/L Amount | Decimal | Specifies the sum of the recognized sales general ledger amount that is associated with project tasks for the project. | FlowField: sum("Job Task"."Recognized Sales G/L Amount" where("Job No." = field("No."))); not editable |
| 1033 | Calc. Recog. Costs G/L Amount | Decimal | Specifies the sum of the recognized costs general ledger amount that is associated with project tasks for the project. | FlowField: sum("Job Task"."Recognized Costs G/L Amount" where("Job No." = field("No."))); not editable |
| 1034 | WIP Completion Posted | Boolean | Specifies whether the final WIP completion entries have been posted to the general ledger. | FlowField: exist("Job WIP G/L Entry" where("Job No." = field("No."), "Job Complete" = const(true))) |
| 1035 | Over Budget | Boolean | — |  |
| 1036 | Project Manager | Code[50] | Specifies the person who is assigned to manage the project. | TableRelation [Table 91 "User Setup"](../table/91.md) (User Setup) |
| 2000 | Sell-to Customer No. | Code[20] | Specifies the number of the customer who will receive the products and be billed by default. | TableRelation [Table 18 "Customer"](../table/18.md) |
| 2001 | Sell-to Customer Name | Text[100] | Specifies the name of the customer who will receive the products and be billed by default. | TableRelation Customer.Name |
| 2002 | Sell-to Customer Name 2 | Text[50] | Specifies an additional part of the name of the customer who will receive the products and be billed by default. |  |
| 2003 | Sell-to Address | Text[100] | Specifies the address where the customer is located. |  |
| 2004 | Sell-to Address 2 | Text[50] | Specifies additional address information. |  |
| 2005 | Sell-to City | Text[30] | Specifies the city of the customer on the sales document. | TableRelation [Table 225 "Post Code"](../table/225.md) (if ("Sell-to Country/Region Code" = const('')) "Post Code".City else if ("Sell-to Country/Region Code" = filter(<> '')) "Post Code".City where("Country/Region Code" = field("Sell-to Country/Region Code"))) |
| 2006 | Sell-to Contact | Text[100] | Specifies the name of the person to contact at the customer. |  |
| 2007 | Sell-to Post Code | Code[20] | Specifies the postal code. | TableRelation [Table 225 "Post Code"](../table/225.md) (if ("Sell-to Country/Region Code" = const('')) "Post Code" else if ("Sell-to Country/Region Code" = filter(<> '')) "Post Code" where("Country/Region Code" = field("Sell-to Country/Region Code"))) |
| 2008 | Sell-to County | Text[30] | Specifies the state, province or county of the address. |  |
| 2009 | Sell-to Country/Region Code | Code[10] | Specifies the country or region of the address. | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 2010 | Sell-to Phone No. | Text[30] | — |  |
| 2011 | Sell-to E-Mail | Text[80] | Email <small>caption</small> |  |
| 2012 | Sell-to Contact No. | Code[20] | Specifies the number of the contact person that the sales document will be sent to. | TableRelation [Table 5050 "Contact"](../table/5050.md) |
| 3000 | Ship-to Code | Code[10] | Specifies the code for another shipment address than the customer's own address, which is entered by default. | TableRelation [Table 222 "Ship-to Address"](../table/222.md) ("Ship-to Address".Code where("Customer No." = field("Sell-to Customer No."))) |
| 3001 | Ship-to Name | Text[100] | Specifies the name that products on the sales document will be shipped to. |  |
| 3002 | Ship-to Name 2 | Text[50] | Specifies an additional part of the name that products on the sales document will be shipped to. |  |
| 3003 | Ship-to Address | Text[100] | Specifies the address that products on the sales document will be shipped to. |  |
| 3004 | Ship-to Address 2 | Text[50] | Specifies additional address information. |  |
| 3005 | Ship-to City | Text[30] | Specifies the city of the customer on the sales document. | TableRelation [Table 225 "Post Code"](../table/225.md) (if ("Ship-to Country/Region Code" = const('')) "Post Code".City else if ("Ship-to Country/Region Code" = filter(<> '')) "Post Code".City where("Country/Region Code" = field("Ship-to Country/Region Code"))) |
| 3006 | Ship-to Contact | Text[100] | Specifies the name of the contact person at the address that products on the sales document will be shipped to. |  |
| 3007 | Ship-to Post Code | Code[20] | Specifies the postal code. | TableRelation [Table 225 "Post Code"](../table/225.md) (if ("Ship-to Country/Region Code" = const('')) "Post Code" else if ("Ship-to Country/Region Code" = filter(<> '')) "Post Code" where("Country/Region Code" = field("Ship-to Country/Region Code"))) |
| 3008 | Ship-to County | Text[30] | Specifies the state, province or county of the address. |  |
| 3009 | Ship-to Country/Region Code | Code[10] | Specifies the customer's country/region. | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 3997 | No. of Archived Versions | Integer | Specifies the number of archived versions of this project. | FlowField: max("Job Archive"."Version No." where("No." = field("No."))); not editable |
| 4000 | External Document No. | Code[35] | Specifies a document number that refers to the customer's or vendor's numbering system. |  |
| 4001 | Payment Method Code | Code[10] | Specifies how to make payment, such as with bank transfer, cash, or check. <small>via [Page 88 "Job Card"](../page/88.md)</small> | TableRelation [Table 289 "Payment Method"](../table/289.md) (Payment Method) |
| 4002 | Payment Terms Code | Code[10] | Specifies a formula that calculates the payment due date, payment discount date, and payment discount amount. <small>via [Page 88 "Job Card"](../page/88.md)</small> | TableRelation [Table 3 "Payment Terms"](../table/3.md) (Payment Terms) |
| 4003 | Your Reference | Text[35] | Specifies the customer's reference. The content will be printed on sales documents. |  |
| 7000 | Price Calculation Method | Enum "Price Calculation Method" | Specifies the default method of the unit price calculation. | enum [Enum 7000 "Price Calculation Method"](../enum/7000.md) |
| 7001 | Cost Calculation Method | Enum "Price Calculation Method" | Specifies the default method of the unit cost calculation. | enum [Enum 7000 "Price Calculation Method"](../enum/7000.md) |
| 7300 | Completely Picked | Boolean | Specifies whether all items on the project planning lines have been completely picked. | FlowField: min("Job Planning Line"."Completely Picked" where("Job No." = field("No."))) |

## Keys

- Key1: No. (clustered)
- Key2: Search Description
- Key3: Bill-to Customer No.
- Key4: Description
- Key5: Status

## Events published

- `OnBeforeThrowAssociatedEntriesExistError(var Job: Record Job; xJob: Record Job; CallingFieldNo: Integer; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnAfterCalcRecognizedProfitAmount(var Result: Decimal)` (integration)
- `OnAfterCalcJobTaskLinesEditable(var Job: Record Job; var IsEditable: Boolean)` (integration)
- `OnBeforeBillToCustomerNoUpdated(var Job: Record Job; var xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnAfterBillToCustomerNoUpdated(var Job: Record Job; xJob: Record Job; BillToCustomer: Record Customer; CallingFieldNo: Integer)` (integration)
- `OnAfterJobLedgEntryExist(var JobLedgerEntry: Record "Job Ledger Entry"; var Result: Boolean)` (integration)
- `OnAfterJobPlanningLineExist(var JobPlanningLine: Record "Job Planning Line"; var Result: Boolean)` (integration)
- `OnAfterOnInsert(var Job: Record Job; var xJob: Record Job)` (integration)
- `OnAfterValidateShortcutDimCode(var Job: Record Job; var xJob: Record Job; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnAfterChangeJobCompletionStatus(var Job: Record Job; var xJob: Record Job)` (integration)
- `OnAfterShipToCodeValidate(var Job: Record Job; ShipToAddress: Record "Ship-to Address")` (integration)
- `OnAfterUpdateBillToContact(var Job: Record Job; xJob: Record Job)` (integration)
- `OnBeforeChangeJobCompletionStatus(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeAssistEdit(var Job: Record Job; var OldJob: Record Job; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckContactBillToCustomerBusRelation(var Job: Record Job; Contact: Record Contact; var IsHandled: Boolean)` (integration)
- `OnBeforeShowContactBillToCustomerBusRelationMissingError(var Job: Record Job; Contact: Record Contact; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckRemoveFromMyJobsFromModify(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeCopyDefaultDimensionsFromCustomer(var Job: Record Job; var IsHandled: Boolean; CurrentFieldNo: Integer)` (integration)
- `OnBeforePercentCompleted(var Job: Record Job; var Result: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforePercentInvoiced(var Job: Record Job; var Result: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforePercentOverdue(var Job: Record Job; var Result: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeDeleteRelatedJobTasks(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeInitJobNo(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeInitGlobalDimFromDefalutDim(var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeInitBillToCustomerNo(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeRecalculateJobWIP(var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeTestBlocked(var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeUpdateJobTaskDimension(var Job: Record Job; FieldNumber: Integer; ShortcutDimCode: Code[20]; var IsHandled: Boolean)` (integration)
- `OnAfterUpdateJobTaskDimension(var Job: Record Job; FieldNumber: Integer; ShortcutDimCode: Code[20])` (integration)
- `OnBeforeValidateBillToCustomerNo(var Job: Record Job; var IsHandled: Boolean; xJob: Record Job; CallingFieldNo: Integer)` (integration)
- `OnBeforeValidateCurrencyCode(var Job: Record Job; xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateBillToContactNo(var Job: Record Job; xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateNo(var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateShortcutDimCode(var Job: Record Job; var xJob: Record Job; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateStatus(var Job: Record Job; xJob: Record Job; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeUpdateOverBudgetValue(var Job: Record Job; JobNo: Code[20]; Usage: Boolean; Cost: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeSellToCustomerNoUpdated(var Job: Record Job; var xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean; var SkipSellToContact: Boolean)` (integration)
- `OnAfterSellToCustomerNoUpdated(var Job: Record Job; xJob: Record Job; SellToCustomer: Record Customer)` (integration)
- `OnSellToCustomerNoUpdatedOnAfterTransferFieldsFromCust(var Job: Record Job; xJob: Record Job; SellToCustomer: Record Customer)` (integration)
- `OnGetQuantityAvailableOnAfterSetFiltersOnJobLedgerEntry(ItemNo: Code[20]; LocationCode: Code[10]; VariantCode: Code[10]; InEntryType: Option; Direction: Option; var JobLedgerEntry: Record "Job Ledger Entry")` (integration)
- `OnUpdateBillToCustOnAfterAssignBillToContact(var Job: Record Job; Contact: Record Contact)` (integration)
- `OnUpdateCustOnBeforeAssignIncoiceCurrencyCode(var Job: Record Job; xJob: Record Job; Customer: Record Customer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateBillToCity(var Job: Record Job; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateBillToPostCode(var Job: Record Job; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateSellToCity(var Job: Record Job; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateShipToCity(var Job: Record Job; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckSellToCustomerAssosEntriesExist(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckBillToCustomerAssosEntriesExist(var Job: Record Job; var xJob: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeTestStatusCompleted(var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnCopyDefaultDimensionsFromCustomerOnBeforeUpdateDefaultDim(var Job: Record Job; CallingFieldNo: Integer)` (integration)
- `OnValidateSellToCustomerNoOnBeforeCheckBlockedCustOnDocs(var Job: Record Job; var Cust: Record Customer; var IsHandled: Boolean)` (integration)
- `OnBeforeInitDefaultJobPostingGroup(var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnValidateStatusOnBeforeConfirm(var Job: Record "Job"; xJob: Record "Job"; var UndidCompleteStatus: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeCurrencyUpdatePlanningLines(var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnBillToCustomerNoUpdatedOnBeforeAssignCurrencyCode(var Job: Record Job; xJob: Record Job; Customer: Record Customer; var IsHandled: Boolean)` (integration)
- `OnBillToCustomerNoUpdatedOnBeforeUpdateBillToContact(var Job: Record Job; xJob: Record Job; Customer: Record Customer; var IsHandled: Boolean)` (integration)
- `OnCurrencyUpdatePlanningLinesOnBeforeUpdateJobPlanningLine(var Job: Record Job; var JobPlanningLine: Record "Job Planning Line")` (integration)
- `OnBeforeValidateSellToCustomerName(var Job: Record "Job"; var Customer: Record Customer; var IsHandled: Boolean)` (integration)
- `OnBeforeShowSellToContactBusinessRelationNotFoundError(var Job: Record Job; Contact: Record Contact; var IsHandled: Boolean)` (integration)
- `OnAfterSyncShipToWithSellTo(var Job: Record Job)` (integration)
- `OnAfterShipToAddressEqualsSellToAddress(var Job: Record Job; var Result: Boolean)` (integration)
- `OnAfterUpdateCostPricesOnRelatedJobPlanningLines(var Job: Record Job)` (integration)
- `OnBeforeUpdateSellToCust(var Job: Record Job; var ContactNo: Code[20]; var IsHandled: Boolean)` (integration)
- `OnUpdateCostPricesOnRelatedJobPlanningLinesOnBeforeConfirmUpdate(var Job: Record Job; var ConfirmResult: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckIfTimeSheetLineLinkExist(var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnInitJobNoOnAfterAssignNoSeries(var Job: Record Job; var xJob: Record Job; var JobsSetup: Record "Jobs Setup")` (integration)
- `OnBeforeAddToMyJobs(var Job: Record Job; var MyJob: Record "My Job"; ProjectManager: Code[50]; var IsHandled: Boolean)` (integration)

## Trigger event subscribers

- OnAfterDeleteEvent: [Codeunit 1173 "Document Attachment Mgmt"](../codeunit/1173.md) DeleteAttachedDocumentsOnAfterDeleteJob, [Codeunit 7006 "Price Helper - V16"](../codeunit/7006.md) AfterDeleteJob, [Codeunit 7019 "Price Helper - V15"](../codeunit/7019.md) AfterDeleteJob
- OnAfterRenameEvent: [Codeunit 1173 "Document Attachment Mgmt"](../codeunit/1173.md) MoveAttachedDocumentsOnAfterRenameJob, [Codeunit 7006 "Price Helper - V16"](../codeunit/7006.md) AfterRenameJob

## Procedures

- `AssistEdit(OldJob: Record Job): Boolean`
- `GetCostCalculationMethod(): Enum "Price Calculation Method"`
- `GetPriceCalculationMethod(): Enum "Price Calculation Method"`
- `ShowPriceListLines(PriceType: Enum "Price Type"; AssetType: Enum "Price Asset Type"; AmountType: Enum "Price Amount Type")`
- `ValidateShortcutDimCode(FieldNumber: Integer; ShortcutDimCode: Code[20])`
- `UpdateBillToContact(CustomerNo: Code[20])`
- `UpdateSellToContact(CustomerNo: Code[20])` (protected)
- `JobLedgEntryExist(): Boolean`
- `SalesJobLedgEntryExist(): Boolean`
- `SalesLineExist(): Boolean`
- `JobPlanningLineExist(): Boolean`
- `UpdateBillToCust(ContactNo: Code[20])`
- `SelltoCustomerNoOnAfterValidate(var JobRec: Record "Job"; var xJobRec: Record "Job")`
- `LookupSellToCustomerName(var CustomerName: Text): Boolean`
- `InitWIPFields()`
- `TestBlocked()`
- `CurrencyUpdatePlanningLines()`
- `TestStatusCompleted()`
- `CreateInvtPutAwayPick()`
- `DisplayMap()`
- `GetQuantityAvailable(ItemNo: Code[20]; LocationCode: Code[10]; VariantCode: Code[10]; InEntryType: Option Usage,Sale,Both; Direction: Option Positive,Negative,Both): Decimal`
- `CalcAccWIPCostsAmount(): Decimal`
- `CalcAccWIPSalesAmount(): Decimal`
- `CalcRecognizedProfitAmount(): Decimal`
- `CalcRecognizedProfitPercentage(): Decimal`
- `CalcRecognizedProfitGLAmount(): Decimal`
- `CalcRecognProfitGLPercentage(): Decimal`
- `CopyDefaultDimensionsFromCustomer()`
- `PercentCompleted(): Decimal`
- `PercentInvoiced(): Decimal`
- `PercentOverdue(): Decimal`
- `CheckReservationEntries(): Boolean`
- `PerformAutoReserve(var JobPlanningLine: Record "Job Planning Line")`
- `UpdateOverBudgetValue(JobNo: Code[20]; Usage: Boolean; Cost: Decimal)`
- `ToPriceSource(var PriceSource: Record "Price Source"; PriceType: Enum "Price Type")`
- `SetJobDiffBuff(var TempJobDifferenceBuffer: Record "Job Difference Buffer" temporary; JobNo: Code[20]; JobTaskNo: Code[20]; JobTaskType: Option Posting,Heading,Total,"Begin-Total","End-Total"; Type: Option Resource,Item,"G/L Account",Text; No: Code[20]; LocationCode: Code[10]; VariantCode: Code[10]; UnitofMeasureCode: Code[10]; WorkTypeCode: Code[10])`
- `SendRecords()`
- `SendProfile(var DocumentSendingProfile: Record "Document Sending Profile")`
- `PrintRecords(ShowRequestForm: Boolean)`
- `EmailRecords(ShowDialog: Boolean)`
- `RecalculateJobWIP()`
- `UpdateReferencedIds()`
- `BilltoContactLookup(): Boolean`
- `SelltoContactLookup(): Boolean`
- `CalcJobTaskLinesEditable(): Boolean`
- `ShipToAddressEqualsSellToAddress(): Boolean`
- `BillToAddressEqualsSellToAddress(): Boolean`
- `SyncShipToWithSellTo()`
- `ShipToNameEqualsSellToName(): Boolean`
- `SetHideValidationDialog(NewHideValidationDialog: Boolean)`
- `GetHideValidationDialog(): Boolean`
- `SellToCustomerNoUpdated(var Job: Record Job; var xJob: Record Job)`
- `ShouldSearchForCustomerByName(CustomerNo: Code[20]): Boolean`
- `CreateWarehousePick()`
- `GetQtyReservedFromStockState(): Enum "Reservation From Stock"` (internal)
- `JobTaskExist(): Boolean`
- `SetPurchLineFilters(var PurchaseLine: Record "Purchase Line")`

Plus 46 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- drill-down page [Page 89 "Job List"](../page/89.md)
- lookup page [Page 89 "Job List"](../page/89.md)
- Calc. Recog. Costs Amount: CalcFormula [Table 1001 "Job Task"](../table/1001.md)
- Calc. Recog. Costs G/L Amount: CalcFormula [Table 1001 "Job Task"](../table/1001.md)
- Calc. Recog. Sales Amount: CalcFormula [Table 1001 "Job Task"](../table/1001.md)
- Calc. Recog. Sales G/L Amount: CalcFormula [Table 1001 "Job Task"](../table/1001.md)
- Completely Picked: CalcFormula [Table 1003 "Job Planning Line"](../table/1003.md)
- Next Invoice Date: CalcFormula [Table 1003 "Job Planning Line"](../table/1003.md)
- Scheduled Res. Gr. Qty.: CalcFormula [Table 1003 "Job Planning Line"](../table/1003.md)
- Scheduled Res. Qty.: CalcFormula [Table 1003 "Job Planning Line"](../table/1003.md)
- Recog. Costs Amount: CalcFormula [Table 1004 "Job WIP Entry"](../table/1004.md)
- Recog. Sales Amount: CalcFormula [Table 1004 "Job WIP Entry"](../table/1004.md)
- Total WIP Cost Amount: CalcFormula [Table 1004 "Job WIP Entry"](../table/1004.md)
- Total WIP Sales Amount: CalcFormula [Table 1004 "Job WIP Entry"](../table/1004.md)
- WIP Completion Calculated: CalcFormula [Table 1004 "Job WIP Entry"](../table/1004.md)
- WIP Entries Exist: CalcFormula [Table 1004 "Job WIP Entry"](../table/1004.md)
- Applied Costs G/L Amount: CalcFormula [Table 1005 "Job WIP G/L Entry"](../table/1005.md)
- Applied Sales G/L Amount: CalcFormula [Table 1005 "Job WIP G/L Entry"](../table/1005.md)
- Recog. Costs G/L Amount: CalcFormula [Table 1005 "Job WIP G/L Entry"](../table/1005.md)
- Recog. Sales G/L Amount: CalcFormula [Table 1005 "Job WIP G/L Entry"](../table/1005.md)
- Total WIP Cost G/L Amount: CalcFormula [Table 1005 "Job WIP G/L Entry"](../table/1005.md)
- Total WIP Sales G/L Amount: CalcFormula [Table 1005 "Job WIP G/L Entry"](../table/1005.md)
- WIP Completion Posted: CalcFormula [Table 1005 "Job WIP G/L Entry"](../table/1005.md)
- WIP G/L Posting Date: CalcFormula [Table 1005 "Job WIP G/L Entry"](../table/1005.md)
- WIP Method: TableRelation [Table 1006 "Job WIP Method"](../table/1006.md)
- WIP Warnings: CalcFormula [Table 1007 "Job WIP Warning"](../table/1007.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Resource Gr. Filter: TableRelation [Table 152 "Resource Group"](../table/152.md)
- Person Responsible: TableRelation [Table 156 "Resource"](../table/156.md)
- Resource Filter: TableRelation [Table 156 "Resource"](../table/156.md)
- Bill-to Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- Sell-to Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- Job Posting Group: TableRelation [Table 208 "Job Posting Group"](../table/208.md)
- Ship-to Code: TableRelation [Table 222 "Ship-to Address"](../table/222.md)
- Bill-to City: TableRelation [Table 225 "Post Code"](../table/225.md) (conditional)
- Bill-to Post Code: TableRelation [Table 225 "Post Code"](../table/225.md) (conditional)
- Sell-to City: TableRelation [Table 225 "Post Code"](../table/225.md) (conditional)
- Sell-to Post Code: TableRelation [Table 225 "Post Code"](../table/225.md) (conditional)
- Ship-to City: TableRelation [Table 225 "Post Code"](../table/225.md) (conditional)
- Ship-to Post Code: TableRelation [Table 225 "Post Code"](../table/225.md) (conditional)
- Payment Method Code: TableRelation [Table 289 "Payment Method"](../table/289.md)
- Payment Terms Code: TableRelation [Table 3 "Payment Terms"](../table/3.md)
- No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Customer Disc. Group: TableRelation [Table 340 "Customer Discount Group"](../table/340.md)
- Global Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Global Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Invoice Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Sell-to Contact No.: TableRelation [Table 5050 "Contact"](../table/5050.md)
- No. of Archived Versions: CalcFormula [Table 5135 "Job Archive"](../table/5135.md)
- Customer Price Group: TableRelation [Table 6 "Customer Price Group"](../table/6.md)
- Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md)
- Language Code: TableRelation [Table 8 "Language"](../table/8.md)
- Bill-to Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)
- Sell-to Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)
- Ship-to Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)
- Project Manager: TableRelation [Table 91 "User Setup"](../table/91.md)
- Comment: CalcFormula [Table 97 "Comment Line"](../table/97.md)

## Referenced by

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

- [Table 9057 "Job Cue"](../table/9057.md): Completed - WIP Not Calculated, Invoices Due - Not Created, Jobs Over Budget, Jobs w/o Resource, Upcoming Invoices, WIP Not Posted
- [Table 1001 "Job Task"](../table/1001.md): Job No.
- [Table 1003 "Job Planning Line"](../table/1003.md): Job No.
- [Table 1004 "Job WIP Entry"](../table/1004.md): Job No.
- [Table 1005 "Job WIP G/L Entry"](../table/1005.md): Job No.
- [Table 1007 "Job WIP Warning"](../table/1007.md): Job No.
- [Table 1008 "Job Assigned Resource"](../table/1008.md): Job No.
- [Table 1012 "Job Resource Price"](../table/1012.md): Job No.
- [Table 1013 "Job Item Price"](../table/1013.md): Job No.
- [Table 1014 "Job G/L Account Price"](../table/1014.md): Job No.
- [Table 1018 "Job WIP Buffer"](../table/1018.md): Job No.
- [Table 1020 "Job Usage Link"](../table/1020.md): Job No.
- [Table 1021 "Job WIP Total"](../table/1021.md): Job No.
- [Table 1022 "Job Planning Line Invoice"](../table/1022.md): Job No.
- [Table 111 "Sales Shipment Line"](../table/111.md): Job No.
- [Table 113 "Sales Invoice Line"](../table/113.md): Job No.
- [Table 115 "Sales Cr.Memo Line"](../table/115.md): Job No.
- [Table 121 "Purch. Rcpt. Line"](../table/121.md): Job No.
- [Table 123 "Purch. Inv. Line"](../table/123.md): Job No.
- [Table 125 "Purch. Cr. Memo Line"](../table/125.md): Job No.
- [Table 1570 "G/L Entry Posting Preview"](../table/1570.md): Job No.
- [Table 169 "Job Ledger Entry"](../table/169.md): Job No.
- [Table 17 "G/L Entry"](../table/17.md): Job No.
- [Table 1706 "Deferral Posting Buffer"](../table/1706.md): Job No.
- [Table 181 "Posted Gen. Journal Line"](../table/181.md): Job No.
- [Table 203 "Res. Ledger Entry"](../table/203.md): Job No.
- [Table 207 "Res. Journal Line"](../table/207.md): Job No.
- [Table 210 "Job Journal Line"](../table/210.md): Job No.
- [Table 212 "Job Posting Buffer"](../table/212.md): Job No.
- [Table 37 "Sales Line"](../table/37.md): Job No.
- [Table 39 "Purchase Line"](../table/39.md): Job No.
- [Table 461 "Prepayment Inv. Line Buffer"](../table/461.md): Job No.
- [Table 49 "Invoice Post. Buffer"](../table/49.md): Job No.
- [Table 5108 "Sales Line Archive"](../table/5108.md): Job No.
- [Table 5110 "Purchase Line Archive"](../table/5110.md): Job No.
- [Table 5135 "Job Archive"](../table/5135.md): Source Doc. Exists
- [Table 55 "Invoice Posting Buffer"](../table/55.md): Job No.
- [Table 5510 "Employee Time Reg Buffer"](../table/5510.md): Job No.
- [Table 5771 "Warehouse Source Filter"](../table/5771.md): Job No.
- [Table 5991 "Service Shipment Line"](../table/5991.md): Job No.
- [Table 5993 "Service Invoice Line"](../table/5993.md): Job No.
- [Table 5995 "Service Cr.Memo Line"](../table/5995.md): Job No.
- [Table 6651 "Return Shipment Line"](../table/6651.md): Job No.
- [Table 6661 "Return Receipt Line"](../table/6661.md): Job No.
- [Table 7000 "Price List Header"](../table/7000.md): Assign-to Parent No.
- [Table 7001 "Price List Line"](../table/7001.md): Assign-to Parent No.
- [Table 7008 "Dtld. Price Calculation Setup"](../table/7008.md): Assign-to No.
- [Table 7022 "Price Worksheet Line"](../table/7022.md): Assign-to Parent No.
- [Table 751 "Standard General Journal Line"](../table/751.md): Job No.
- [Table 8070 "Subscription Billing Cue"](../table/8070.md): Jobs Over Budget
- and 8 more objects (8 fields): data/code/relations/29.json

## Pages and codeunits on this table

- [Page 1025 "Job Statistics"](../page/1025.md) (source table)
- [Page 1027 "Job WIP Cockpit"](../page/1027.md) (source table)
- [Page 1030 "Job Cost Factbox"](../page/1030.md) (source table)
- [Page 1816 "Job Creation Wizard"](../page/1816.md) (source table)
- [Page 20050 "APIV1 - Jobs"](../page/20050.md) (source table)
- [Page 221 "Resource Allocated per Job"](../page/221.md) (source table)
- [Page 228 "Res. Gr. Allocated per Job"](../page/228.md) (source table)
- [Page 30050 "APIV2 - Jobs"](../page/30050.md) (source table)
- [Page 730 "Job Act to Bud Cost Chart"](../page/730.md) (source table)
- [Page 731 "Job Act to Bud Price Chart"](../page/731.md) (source table)
- [Page 759 "Job Profitability Chart"](../page/759.md) (source table)
- [Page 88 "Job Card"](../page/88.md) (source table)
- [Page 89 "Job List"](../page/89.md) (source table)
- [Page 9098 "Job No. of Prices FactBox"](../page/9098.md) (source table)
- [Page 9099 "Job WIP/Recognition FactBox"](../page/9099.md) (source table)
- [Page 9211 "Resource Alloc. per Job Matrix"](../page/9211.md) (source table)
- [Page 9213 "ResGrp. Alloc. per Job Matrix"](../page/9213.md) (source table)
- [Codeunit 1016 "Jobs-Send"](../codeunit/1016.md) (codeunit runs on it)

## Extended by

- [Table extension 6257 "Sust. Job"](../tableextension/6257.md)
- [Table extension 6610 "FS Job"](../tableextension/6610.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) (10 calls: `CopyDefaultDimensionsFromCustomer → DefaultDimOnDelete`, `CopyDefaultDimensionsFromCustomer → DefaultDimOnInsert`, `CopyDefaultDimensionsFromCustomer → SetSkipChangeDimensionsQst`, …)
- [Codeunit 1008 "Job Calculate Statistics"](../codeunit/1008.md) (6 calls: `PercentCompleted → CalculateAmounts`, `PercentCompleted → GetLCYCostAmounts`, `PercentCompleted → JobCalculateCommonFilters`, …)
- [Codeunit 27 "Confirm Management"](../codeunit/27.md) (3 calls: `CheckReservationEntries → GetResponseOrDefault`, `RecalculateJobWIP → GetResponseOrDefault`, `UpdateCostPricesOnRelatedJobPlanningLines → GetResponseOrDefault`)
- [Codeunit 452 "Report Distribution Management"](../codeunit/452.md) (3 calls: `EmailRecords → GetFullDocumentTypeText`, `SendProfile → GetFullDocumentTypeText`, `SendRecords → GetFullDocumentTypeText`)
- [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) (2 calls: `GetQtyReservedFromStockState → GetReservedQtyFromInventory`, `PerformAutoReserve → ReservQuantity`)
- [Codeunit 5139 "Job Archive Management"](../codeunit/5139.md) (2 calls: `OnDelete → AutoArchiveJob`, `OnRename → RenameJobArchieve`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (2 calls: `CreateWarehousePick → InitItemTrackingForTempWhseWorksheetLine`, `DeleteWhsePickRelation → DeleteWhseItemTrkgLines`)
- [Codeunit 99000845 "Reservation Management"](../codeunit/99000845.md) (2 calls: `PerformAutoReserve → AutoReserve`, `PerformAutoReserve → SetReservSource`)
- [Page 456 "No. Series"](../page/456.md) (2 calls: `AssistEdit → (object)`, `InitJobNo → (object)`)
- [Codeunit 1000 "Job Calculate WIP"](../codeunit/1000.md) (1 call: `ChangeJobCompletionStatus → ReOpenJob`)
- [Codeunit 109 "Lookup State Manager"](../codeunit/109.md) (1 call: `LookupSellToCustomerName → SaveRecord`)
- [Codeunit 361 "MoveEntries"](../codeunit/361.md) (1 call: `OnDelete → MoveJobEntries`)
- [Codeunit 5465 "Graph Mgt - General Tools"](../codeunit/5465.md) (1 call: `UpdateReferencedIds → IsApiEnabled`)
- [Codeunit 7018 "Price UX Management"](../codeunit/7018.md) (1 call: `ShowPriceListLines → ShowPriceListLines`)
- [Codeunit 802 "Online Map Management"](../codeunit/802.md) (1 call: `DisplayMap → MakeSelectionIfMapEnabled`)
- [Report 7323 "Create Invt Put-away/Pick/Mvmt"](../report/7323.md) (1 call: `CreateInvtPutAwayPick → (object)`)

## Recent changes

- 2026-08-13 [#10211 [master] Projects WIP related field tooltips missing broken grammar outdated terminology](../../changes/bcapps/10211.md) (main, BC30, fix)
- 2026-07-17 [#8905 [Master] Different source reference on reservation entries created directly from Job Planning Line and via a warehouse pick.](../../changes/bcapps/8905.md) (main, BC30, fix)
- 2026-07-14 [#9315 [Projects] Add Assigned Resources to projects and project tasks](../../changes/bcapps/9315.md) (main, BC30, feature)
- 2026-07-14 [#9280 Project Task Billing Method reverts to original value in project card without validation or error](../../changes/bcapps/9280.md) (main, BC30, fix)

## Across versions

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

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