Project Billing (Approval)
The Project Billing (Approval) page is the work-order-centric counterpart to the standard Project Billing page. Where Project Billing organizes time recordings only by project task, Project Billing (Approval) organizes them by Billing Work Order, if they belong to a work order — making it the preferred starting point when Work Orders are used. Project Billing (Approval) can be used for time recordings wthout work orders without any downside.
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.
Prerequisite: Work Order Posting must be enabled in Project Setup. See Work Order Posting.
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
User can create and edit their own presets by opening the list of their presets in Projekt Billing (Approval). A central distibution is ussually 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 Show Time Recordings up to automatically. |
| Display Unit | Hour or Day — controls how quantities are shown |
| My Projects | When enabled, shows only projects where the logged-in user is the Project Manager |
| Time Recording Filter | To Release displays the record (work orde 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 invoicable time recordings and unplanned services (bugs) in seperate steps. Seperating the steps grants the opportunity to focus on the context. Bugs are often not invoiced, while planned services are usually invoiced completely but needs budget controlling. Additional filters like work order type and closed can refine the process.
Filter Behavior
All filter dialogs — Project Filter and Work Order Filter — use exact single-value matching internally. This means:
- One value per field only — multiple values with OR logic (
|) are not supported - No wildcards — partial matching with
*is not supported - No ranges — range syntax (
..) is not supported
The only exception is the Show Time Recordings up to header field, which acts as an upper date boundary.
Project Filter
| Field | Notes |
|---|---|
| Project No. | Exact single value |
| Project Manager | Exact single value |
| Project Type | Exact single value |
| Sell-to Customer No. | Exact single value |
| Salesperson | Exact single value |
| Responsible Person | Exact single value |
| Global Dimension 1 | Exact single value |
Work Order Filter
| Field | Notes |
|---|---|
| Closed | Dropdown: empty / No / Yes |
| Blocked | Dropdown: empty / No / Yes |
| Type | Exact single value |
| External Status | Exact single value |
| Source | Exact single value |
| External Organization | Exact single value |
| External Project | Exact single value |
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 backdraw 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 (Appoval) page should be personalized based on the selected Sorting, to underpin the prefered way of working. Make sure to display the Project No. first, if sorting by project and Sell-to Customer Name, if sorting by project has been selected. Otherwise the order in which the header lines are displayed appear random. Please note, that the Project Billing (Appoval) 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. |
| Show Time Recordings up to | Date filter — only time recordings with a Service Date on or before this date are shown. This field does not affect which time recordings are included when posting. It only has effect on releasing. |
| 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.
Level 2 — Detail lines
| Line Type | What It Represents |
|---|---|
| Project Task | Displays project tasks for time recordings recorded without a Work Order |
| Work Order | Displays Billing Work Orders. A Billing Work Order; aggregates time recordings from all its Sub-Work Orders |
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 ≤ "Show 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 Show 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 all released time recordings for the selected lines (requires Work Order Posting enabled) |
| 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) |
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, the time recording either has no project task and planning line or 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 recording page for the work order and Status Open, to check the time recording(s).
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. |
Running the Post
- In Project Billing (Approval): Select lines and choose Post. Only the selected lines are posted.
- Unattended via Job Queue: Report 70920909 "Post Time Recordings" can be scheduled to run automatically. It skips any time recordings that cannot currently be posted (e.g. Status = Open) and continues with the rest.
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.
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.