Project Billing (Approval)
The Project Billing (Approval) page is used to release, reopen and post time recordings. It groups them by project and sales order. They are shown either by project task or by work order: with Work Order Posting (= Yes), time recordings with a work order are grouped by Billing Work Order; otherwise all time recordings are grouped by project task (see Line Hierarchy and Grouping). Unlike the Project Billing Overview, which works per project task, it can also release, reopen and post all time recordings of such a group at once.
Typical personas:
- Project Manager — reviews and releases open time recordings for the work orders they are responsible for.
- Inside Sales — posts all released time recordings and prepares the project for invoicing.
Access: Open via the Role Center or search (Alt+Q) for Project Billing (Approval).
Project Billing Presets
What Are Presets?
Presets are per-user filter sets that control which data is loaded into the Project Billing (Approval) page. Each user sees only the presets assigned to their own User ID — this prevents users from accidentally working in each other's views.
Presets are managed centrally on the Project Billing Presets page (typically by a designated key user such as a project management lead). The key user creates and maintains all presets and distributes them to users using the copy actions described below.
Create the complete set of presets once, then use Copy to User(s) to distribute them. Users should not need to manage their own presets.
Creating and Distributing Presets
Users can create and edit their own presets by opening the list of their presets in Project Billing (Approval). A central distribution is usually easier on the user. To distribute the presets centralized please follow the steps below.
- Open the Project Billing Presets page (search
Alt+Q). - Create one preset user per use case — set the User ID field to the target user.
- To duplicate an existing preset for the same user (for example, create a To Post variant from a To Release preset), select the row and use Copy Preset.
- To copy one or more presets to other users, select the presets and use Copy to User(s). This is the primary distribution mechanism.
Preset Fields
| Field | Description |
|---|---|
| Description | Name of the preset |
| Time Recordings Formula | DateFormula (e.g. <-CM>) for dynamic date calculation. Populates Consider Time Recordings up to automatically. |
| Display Unit | Hour or Day — controls how quantities are shown |
| My Projects | When enabled, shows only projects listed in My Projects (Role Centers DYCE Project Administrator and Project Manager) |
| Time Recording Filter | To Release displays the record (work order or project task) if at least one open time recording and To Post at least one released time recording exists |
| Sorting | By Customer or By Project — controls header row ordering (see below) |
| Project Filter | Optional: filter for one or more projects |
| Work Order Filter | Optional: filter for specific work orders |
Recommended presets:
| Role | Time Recordings Filter | My Projects |
|---|---|---|
| Project Manager | To Release | Yes |
| Posting Clerk | To Post | No |
Project Manager should have a preset for each process, to organize releasing time recordings more efficiently. Organizing the projects by project type enables the project manager to do so. Typical examples for project types are implementation and maintenance. This allows to release planned and most likely invoiceable time recordings and unplanned services (bugs) in separate steps. Separating the steps grants the opportunity to focus on the context. Bugs are often not invoiced, while planned services are usually invoiced completely but need budget control. Additional filters like work order type and closed can refine the process.
Preset Factboxes
The Presets and Project Billing Presets pages show the content of the selected preset in three factboxes, so a preset can be checked without opening its filter dialogs:
| Factbox | Content |
|---|---|
| Preset Details | Description and Time Recording Filter of the preset. Further preset fields (e.g. Sorting or Display Unit) can be added via personalization. |
| Project Filter | One row per applied criterion of the project filter, with the columns Field and Value |
| Work Order Filter | One row per applied criterion of the work order filter, with the columns Field and Value |
The Edit action in the Project Filter and Work Order Filter factboxes opens the corresponding filter dialog directly (see Filter Behavior). Changed criteria are shown in the factbox immediately after the dialog is confirmed.
Filter Behavior
Every field on the Project Filter and Work Order Filter dialogs - except the plain Yes/No/blank dropdowns - accepts standard Business Central filter syntax, the same as any filter field elsewhere in Business Central:
- Exclude a value with
<>, and combine several exclusions, e.g.<>PROJ001&<>PROJ002 - List several values with
|, e.g.Handling Error|Missing Setup - Range with
.., e.g.Job000001..Job000099 - Wildcard with
*, e.g.C*
A plain value with no operator characters still matches exactly, the same as before. There is no length limit on any of these fields - a filter expression of any length is accepted and stored in full, never truncated.
The lookup button on each of these fields opens a list that allows selecting more than one row; confirming a multi-selection replaces the field's entire content with a filter expression joining the selected values with |. Project No. and Sell-to Customer No. use a range filter instead (e.g. A..C), where the selection allows it.
The only fields that stay a plain dropdown, without filter syntax or a multi-select lookup, are Closed and Blocked on the Work Order Filter. The Consider Time Recordings up to header field is unaffected either way - it remains a simple upper date boundary.
Project Billing (Approval) uses a query to filter. This is necessary to filter in multiple tables (work orders, projects and time recordings), while keeping the processing time low and showing better performance. The drawback is that every filter must be coded individually.
New filter options are added regularly. If a filter that you need for your use case is missing, report it to your Business Central partner.
How the Sorting Field Changes the Page
The Sorting field (and the Sort by Customer / Sort by Project action buttons on the page) controls the order of the bold header rows only — it does not change which lines are grouped together.
- By Customer: Header rows are sorted by Customer Number, then by Project and Sales Order Number within each customer.
- By Project: Header rows are sorted by Project Number, then by Sales Order Number within each project.
The Project Billing (Approval) page should be personalized based on the selected Sorting, to underpin the preferred way of working. Make sure to display the Project No. first if sorting by project, and the Sell-to Customer Name first if sorting by customer has been selected. Otherwise the order in which the header lines are displayed appears random. Please note that the Project Billing (Approval) page must be closed and opened after personalization to rebuild the tree view.
The Page Structure
Header Fields
| Field | Description |
|---|---|
| Project Billing Preset | Selects the active preset. Changing this field clears and rebuilds all page data. |
| Consider Time Recordings up to | Date filter — only time recordings with a Service Date on or before this date are shown and released. Whether the date also limits posting depends on Date Filter When Posting in the Projects Setup: with Apply only time recordings up to this date are posted, with Ignore all released time recordings of the selected lines are posted. |
| Posting Date | The date written to Project Ledger Entries and Project Planning Lines (Billable) when time recordings are posted. |
Line Hierarchy and Grouping
The page displays data in two levels:
Level 1 — Bold header lines (Line Type: Project)
A new bold header line appears for each unique Customer + Sales Order combination (when sorting by customer) or Project + Sales Order combination (when sorting by project). All Work Orders and Project Tasks for that combination are grouped beneath it. A Sales Order usually represents a dedicated budget. Grouping by it makes it possible to work within its context and budget.
The header line shows the totals Time Recordings Open, Time Recordings Released, Qty. Billable Open and Billable Released for all time recordings of the group, restricted by the preset's Work Order Filter and by Consider Time Recordings up to. Clicking one of these totals opens the Time Recording List with the group's time recordings of that status (Open or Released) up to Consider Time Recordings up to.
Level 2 — Detail lines
How the detail lines are built depends on Use Work Order Posting in the Projects Setup (see Work Order Posting):
| Line Type | What It Represents |
|---|---|
| Project Task | With Use Work Order Posting = Yes: project tasks for time recordings recorded without a Work Order. With Use Work Order Posting = No: project tasks for all time recordings, including those with a Work Order. |
| Work Order | Only with Use Work Order Posting = Yes: Billing Work Orders. A Billing Work Order aggregates time recordings from all its Sub-Work Orders |
With Use Work Order Posting = No, no Work Order lines are shown. The link to the work order is kept on the time recording, and the preset's Work Order Filter still restricts which time recordings are included.
Sub-Work Orders are consolidated under their Billing Work Order. All their time recordings appear on the Billing Work Order row, not separately.
Fields on Detail Lines
| Field | Notes |
|---|---|
| Number | The number of the project (header line), project task, or work order — depending on line type. Click to open the corresponding card. |
| Title | Title of the work order or description of the project task |
| Original Estimate | Planned effort (work orders only) |
| Time Recordings Open | Sum of the duration of open time recordings. Click to open the detail page for review and individual release. |
| Time Recordings Released | Sum of the duration of released time recordings. Click to inspect. |
| Quantity Billable Open | Total billable duration of open time recordings |
| Quantity Billable Released | Total billable duration of released time recordings |
| Additional Service | Indicates whether open or released time recordings with Additional Services are present (visible by default; can also be shown via personalization if hidden) |
Visual indicators:
- Header lines are displayed in bold.
- Detail lines where the billable duration exceeds the budget are highlighted in red. (Service Billing Type Time and Material will not be indicated in red, because the budget is automatically extended, when posting.)
Which Lines Are Displayed and Why
The page only shows data that matches the active preset's filters:
- Only time recordings matching the preset's Project, Work Order, and Time Recording filters are included.
- Only time recordings with a Service Date ≤ "Consider Time Recordings up to" are included.
- The Time Recording Status Filter determines the focus:
- To Release: Shows lines that have at least one Open time recording.
- To Post: Shows lines that have at least one Released time recording.
- In both cases, a line always shows all time recordings (both Open and Released) to give the full picture. The status filter only determines which lines appear, not which time recordings are visible on each line.
The data shown is built specifically for the logged-in user based on the preset. Updates by other users (for example, new time recordings submitted by a colleague) are not automatically reflected. Use Refresh to reload.
The Refresh Action
The Project Billing (Approval) page does not update automatically. All data must be rebuilt manually using Refresh.
Refresh clears all existing rows and repopulates the page based on the current preset and the current Consider Time Recordings up to date. Project Billing (Approval) is automatically refreshed, when changing the preset.
If you leave the page and return, the previously loaded data may still be visible, but it reflects the state at the time of the last Refresh. Always Refresh before acting on the data.
Actions
| Action | Scope | Description |
|---|---|---|
| Refresh | — | Rebuilds all page data from the current preset and date |
| Release | Selected lines | Releases all open time recordings of the selected lines |
| Reopen | Selected lines | Sets released time recordings back to Open for the selected lines |
| Post | Selected lines | Posts the released time recordings for the selected lines — with Date Filter When Posting = Apply only those up to Consider Time Recordings up to; with Ignore all of them, regardless of the date |
| Sort by Customer | — | Sorts bold header lines by Customer Number (ordering only, not grouping) |
| Sort by Project | — | Sorts bold header lines by Project Number (ordering only, not grouping) |
On a selected bold header line, Release, Reopen and Post process all matching time recordings of the whole group, including those of its detail lines: Open time recordings for Release, Released time recordings for Reopen and Post. Afterwards the page is rebuilt as with Refresh.
Releasing Time Recordings
Prerequisites
A time recording can only be released if all of the following conditions are met:
- Service Date is filled.
- Resource Number is filled.
- Duration is greater than 0.
- A Budget Project Planning Line is assigned.
- Description is filled.
- (When Work Order Posting is enabled) A matching Work Order Line exists for the Work Order and Project Planning Line combination.
When Work Order Posting is enabled, time recordings are only shown on the Project Billing (Approval) page when a corresponding Work Order Line exists. Without a matching Work Order Line, the time recording will not be displayed.
How to Release
- Bulk release: Select one or more lines and choose Release. All open time recordings beneath the selected lines are released at once.
- Individual release: Click the Time Recordings Not Released count on a line to open the detail page, where individual time recordings can be reviewed and toggled.
After Release — Quantity to Invoice Is Updated
When a time recording is released, the Quantity to Invoice is recalculated:
Without Work Order Posting: Quantity to Invoice is set on the Project Planning Line (Budget) — calculated as the sum of the billable duration of all released time recordings for that line.
With Work Order Posting: Quantity to Invoice is set on the Work Order Line — calculated individually per Work Order.
- Budget and Fixed Price: The Quantity to Invoice is capped at the Reserved Quantity on the Work Order Line. It cannot exceed this value. If the Reserved Quantity is empty in the Work Order Lines or the time recording was created without a work order, the Quantity to Invoice cannot be larger than the Quantity of the Project Planning Line (Budget) minus the Quantities of the Project Planning Lines (Billable) and the blocked budget. Budget is blocked because it either has been reserved in another Work Order Line or the Quantity to Invoice of other Work Order Lines, if they do not have a reservation either.
- Time and Material: No cap. The Quantity to Invoice reflects the full billable duration. The Reserved Quantity and Quantity of the Project Planning Lines (as well as Sales Line) will be updated when posting the time recordings.
- First-come, first-served: When multiple Work Orders share a Project Planning Line without a Reserved Quantity, the first Work Order to release its time recordings locks in the Quantity to Invoice. Remaining budget may then be insufficient for subsequent Work Orders — these will be highlighted in red.
For a detailed explanation of the reservation logic, see Work Order Posting.
When Lines Disappear
Lines are removed from the page automatically when there is nothing left to act on:
- To Release preset: A line disappears when all its time recordings are Released or Posted — there is nothing left to release.
- To Post preset: A line disappears when all its time recordings are Posted — there is nothing left to post.
This is intentional behavior. After lines disappear, use Refresh to verify whether any new time recordings have appeared since the last rebuild (for example, submitted by colleagues after the page was last loaded).
If a work order does not disappear from the list, one or more time recordings have not been released. If the time recording is not displayed in the details page, there can be multiple reasons.
- The Work Order Line is missing: Use the action Create Lines to create potentially missing Work Order Lines. If no lines are created, open and filter the time recordings page.
- Time recording has no project task and project planning line: Find the time recording in Time Recordings (Alt + Q). Note that the time recording may belong to a Sub-Work Order. Filtering by Billing Work Order No. is easier.
Posting Time Recordings
What Posting Does
Posting progresses time recordings from Released to Posted and creates the financial records required for invoicing:
- Time Recording status changes: Released → Posted.
- Project Ledger Entries (Usage) are created. When Work Order Posting is enabled, the Work Order Number and Billing Work Order Number are stored on each entry.
- Project Planning Lines (Billable) are created or updated:
- Without Work Order Posting: one Project Planning Line Billable per Project Planning Line Budget.
- With Work Order Posting: one Project Planning Line Billable per Work Order Line (Billing Work Order + Project Planning Line Budget combination).
- Linked Sales Order Lines are updated (Quantity Shipped and Quantity to Invoice).
Billing Type Behavior on Posting
| Billing Type | Behavior |
|---|---|
| Time and Material | All billable time is posted and invoiced. The Quantity of the Project Planning Line and the linked Sales Order Line is automatically increased when posted time recordings exceed the planned quantity. |
| Budget (Capped) | Time recordings can be posted beyond the budget ceiling, but only up to the ceiling is invoiced. |
| Fixed Price | Time recordings track effort only. Invoicing is driven by completion of the work, not by total duration. |
How the quantity of the Project Planning Line (Billable) is calculated when only part of the released time recordings is posted is described under Date Filter When Posting.
Running the Post
- In Project Billing (Approval): Select lines and choose Post. Only the selected lines are posted.
- Unattended via Job Queue: Codeunit 70920977 can be scheduled to run automatically, optionally with a dateformula in the Parameter String to post only time recordings up to a calculated date. It skips any time recordings that cannot currently be posted (e.g. Status = Open) and continues with the rest. The previously used Report 70920909 "Post Time Recordings" is obsolete and never applies a date filter. See Post in Job Queue.
Invoicing
With a Sales Order
Project Planning Lines (Billable) that are linked to the Sales Order are invoiced in the Sales Order.
The invoice structure is driven by Project Planning Lines (Billable), not by the original Sales Order Lines. If multiple Billing Work Orders each have their own Project Planning Line Billable under the same Sales Order Line, you may see more invoice lines than Sales Order Lines.
Without a Sales Order
Use the Project Create Sales Invoice function on the project card to create an invoice directly from the project. The request page also has a VAT Date field, shown when VAT dates are enabled in the General Ledger Setup (default: the work date); it is applied as the VAT date of all created sales invoices.
If any posted time recordings have been cancelled and the resulting credit memos have not yet been posted, new invoices cannot be created. Post all outstanding credit memos before creating new invoices.
Effect of Work Order Posting on Invoice Structure
When invoicing without a Sales Order, Work Order Posting changes how invoice lines are created. Each Work Order Line (Billing Work Order + Project Planning Line Budget combination creates a Project Planning Line Billable, which will in turn create a sales invoice line. The Detailed Overview of the posted sales invoice will automatically detail the Work Orders and its time recordings.
For details on the full comparison of behavior with and without Work Order Posting, see Work Order Posting.