Billable Time
Billable Time — Complete User Guide — Two Accounts Web
Comprehensive guide covering Billable Time entry, the unbilled asset lifecycle, status transitions, invoicing, write-offs, the Billable Time Summary report, and accounting regulation validation — with sample data and output.
Table of Contents
- Prerequisites — Enabling via Customize Menu
- System Overview
- Billable Time Model
- Navigation and Setup
- Creating a Billable Time Entry
- GL Posting and Lifecycle
- Status Transitions
- Billable Time Summary Report
- Sample Data
- Edge Cases
- Accounting Regulation Validation
Prerequisites — Enabling via Customize Menu
Billable Time is not visible by default and requires Sales Invoices to be enabled first.
How to Enable
- Go to Customize Menu (click the Customize button from navigation bar)
- Ensure Sales Invoices is enabled (it is on by default)
- Find Billable Time and toggle it on
- Click Save — the Billable Time tab will now appear
1. System Overview
The Billable Time module allows you to track time spent on customer work and recognise the value of unbilled work as an asset on the Balance Sheet. When the work is later invoiced to the customer, the asset is reversed and revenue is recognised through the Sales Invoice. This follows the accrual basis of accounting — revenue is recognised when the work is performed (as an unbilled asset), and confirmed when invoiced.
1.1 Key Concepts
| Concept | Description |
|---|---|
| Billable Time | Time spent on customer work that will be billed at a later date. Each entry records hours/minutes worked and an hourly rate. |
| Unbilled Asset | When billable time is recorded, the system creates a Balance Sheet asset representing the value of work performed but not yet invoiced. |
| Hourly Rate | The rate per hour charged to the customer. This is pre-filled from the customer record but can be overridden. |
| Uninvoiced Status | The default status when a billable time entry is first created. The time is recorded as an unbilled asset. |
| Invoiced Status | When the time is added to a Sales Invoice, the status changes to Invoiced. The unbilled asset is reversed and revenue is recognised. |
| Written Off Status | When time will not be billed (e.g., goodwill, internal work, or dispute), the entry is written off. The unbilled asset is expensed. |
1.2 GL Accounts Used
| Account | Type | Purpose |
|---|---|---|
| Billable Time Unbilled | Balance Sheet (Asset) | Records unbilled time as an asset (increases when time is entered, decreases when invoiced or written off) |
| Billable Time — Movement | P&L (Contra) | Contra entry that offsets the asset movement (nets to zero overall) |
| Billable Time — Invoiced | P&L (Revenue) | Revenue account used on Sales Invoice lines when invoicing billable time |
2. Billable Time Model
2.1 All Fields
| Field | Required? | Description |
|---|---|---|
| Date | ✅ Yes | The date the work was performed. |
| Customer | ✅ Yes | The customer the work was performed for. Once selected, the Hourly Rate is pre-filled from the customer record. |
| Description | ❌ No | A description of the work performed. This appears on the invoice when the time is billed. |
| Hourly Rate | ✅ Yes | The rate per hour charged to the customer. Pre-filled from the customer's configured rate, but can be overridden. |
| Time Spent (Hours) | ❌ No | The number of whole hours spent. Combined with minutes to calculate the total time. |
| Time Spent (Minutes) | ❌ No | The number of additional minutes spent. Converted to decimal hours (minutes / 60) and added to the total. |
| Division | ❌ No | Operational division for reporting. |
| Exchange Rate | ❌ No | Foreign exchange rate if the customer's currency differs from the base currency. |
| Exchange Rate Is Inverse | ❌ No | Whether the exchange rate is in inverse format. |
| Status | ✅ Yes (auto-set) | Uninvoiced (default), Invoiced (when linked to a Sales Invoice), or Written Off. |
| Sales Invoice | ❌ No | When invoiced, the Sales Invoice this time entry is linked to. |
| Written Off Date | ❌ No | When written off, the date the write-off was approved. |
2.2 Calculated Values
| Value | Formula | Description |
|---|---|---|
| Total Hours | Hours + (Minutes / 60) |
Total time in decimal hours, rounded to 2 decimal places. |
| Amount | Round(Total Hours × Hourly Rate, decimalPlaces) |
The monetary value of the time entry. This is the amount that posts to the unbilled asset account. |
2.3 List View Columns
| Column | Description |
|---|---|
| Date | The date the work was performed. |
| Customer | The customer the work was performed for. |
| Description | Description of the work performed. |
| Hourly Rate | The hourly rate charged to the customer. |
| Time Spent | Formatted as "Xh Ym" (e.g., "3h 30m"). |
| Amount | The monetary value of the time entry. |
| Status | Uninvoiced (red warning), Invoiced (green success), or Written Off (neutral). |
3. Navigation and Setup
3.1 Enabling the Tab
The Billable Time menu is controlled by Customize Menu → Sales Invoices → Billable Time. It is disabled by default. To enable it:
Customize Menu → Sales Invoices
→ Billable Time = On (requires Sales Invoices tab to be enabled)
3.2 Enabling Billable Expenses (Optional)
If you also need to track billable expenses (not just time), enable the billable expenses feature:
Settings → Billable Expenses
→ Enable Billable Expenses = On
This enables additional features on transactions (Payments, Receipts, etc.) to mark lines as billable expenses.
3.3 Navigation
Billable Time → New Billable Time
Or from a customer's record, click the Uninvoiced amount to see all unbilled time and create new entries.
3.4 Prerequisites
- A customer record must exist with an hourly rate configured (optional, can be entered manually)
- Sales Invoices must be enabled in Tabs
- Billable Time must be enabled in Tabs
4. Creating a Billable Time Entry
4.1 Step-by-Step
Step 1 — Open the form:
Billable Time → New Billable Time
Step 2 — Enter the details:
Date: 15/01/2026 (the date the work was performed)
Customer: ABC Corporation
Description: Website development — homepage layout
Hourly Rate: 150.00 (pre-filled from customer, can be overridden)
Time Spent: 3 hours, 30 minutes
Division: Web Development (optional)
Step 3 — Save: Click Save. The system calculates the amount (3.5 hours × 150.00 = 525.00) and creates two GL entries: Dr Unbilled Asset 525.00 / Cr Movement (contra) 525.00.
4.2 OnSource Behaviour
When creating from an existing Billable Time entry (via copy), the OnSource method copies all fields from the source entry into the form.
4.3 View Page
The Billable Time view shows:
- Customer information (code, name, address, email)
- Date
- A table with: Description, Hourly Rate, Time Spent (formatted as "Xh Ym"), and Amount
- Status badge — Uninvoiced (red), Invoiced (green), or Written Off
- Division (if set)
- Customer custom fields
5. GL Posting and Lifecycle
5.1 Creation — Uninvoiced Status (Default)
When a Billable Time entry is saved with Status = Uninvoiced, two GL entries are created:
Asset Recognition:
Dr Balance Sheet — Billable Time Unbilled 525.00 (unbilled asset increases)
Cr P&L — Billable Time Movement 525.00 (contra entry)
Net P&L impact: 0.00 (debit + credit offset)
Balance Sheet impact: Unbilled asset increases by 525.00
The unbilled asset represents the economic benefit of work performed but not yet invoiced. The contra entry in P&L ensures no profit is recognised until the work is invoiced.
5.2 Invoicing — Status Change to Invoiced
When the time entry is included in a Sales Invoice (from the customer's Uninvoiced view), two things happen:
A. The Sales Invoice creates its own GL entries:
Dr Accounts Receivable 525.00
Cr P&L — Billable Time Invoiced 525.00 (revenue recognised)
B. The Billable Time entry's status changes to Invoiced, triggering reversal entries:
Asset Reversal:
Dr P&L — Billable Time Movement 525.00 (reverse the contra)
Cr Balance Sheet — Billable Time Unbilled 525.00 (unbilled asset decreases)
Net effect of reversal: Asset decreases by 525.00, P&L contra is reversed.
Combined with Sales Invoice: Revenue of 525.00 is now in P&L. ✅
Overall net effect across both documents:
Balance Sheet:
Dr Accounts Receivable 525.00
Cr Billable Time Unbilled (525.00) (reversed)
Net BS impact: 0
P&L:
Cr Billable Time Invoiced 525.00 (revenue)
Net P&L revenue: 525.00 ✅
5.3 Write-Off — Status Change to Written Off
When the time entry will not be billed, set Status = Written Off and provide a Written Off Date:
Write-Off Entries:
Dr P&L — Billable Time Movement 525.00 (expense recognition)
Cr Balance Sheet — Billable Time Unbilled 525.00 (unbilled asset decreases)
Net P&L impact: 525.00 expense (reduces profit)
Balance Sheet impact: Unbilled asset decreases by 525.00
5.4 Complete Lifecycle Diagram
Create Time Entry (Uninvoiced):
Dr Unbilled Asset +525
Cr Movement (contra) −525
When Invoiced:
Sales Invoice GL:
Dr AR +525
Cr BillableTimeInvoiced −525
Time Entry reversal:
Dr Movement (contra) +525 (reverses creation contra)
Cr Unbilled Asset −525 (reduces asset)
Net: Revenue = 525 in P&L. AR = 525 on BS. Asset = 0. ✅
When Written Off:
Dr Movement (contra) +525 (expense)
Cr Unbilled Asset −525 (reduces asset)
Net: Expense = 525 in P&L. Asset = 0.
6. Status Transitions
6.1 Status Lifecycle
┌──────────┐
│Created │
│Uninvoiced│
└────┬─────┘
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│Invoiced │ │WrittenOff│ │Uninvoiced│
│(via SI) │ │(no bill) │ │(no change)│
└──────────┘ └──────────┘ └──────────┘
6.2 How Invoicing Works
From the Customers tab, the Uninvoiced column shows the total unbilled amount per customer. Clicking this amount opens a view where you can select which time entries to include in a new Sales Invoice. When the invoice is saved:
- Each Billable Time entry's status changes to Invoiced
- A Sales Invoice line is created with Account = Billable Time Invoiced
- The Billable Time entry is linked to the Sales Invoice
- The asset reversal entries are created
6.3 Cash Basis Accounting Note
Billable Time transactions are excluded from cash-basis conversion. They remain on the accrual basis because they represent non-cash timing entries that track unbilled work. The unbilled asset is a timing difference between when work is performed and when it is invoiced and collected.
7. Billable Time Summary Report
7.1 Navigation
Reports → Billable Time Summary → New Report
7.2 Report Input
| Field | Description |
|---|---|
| From Date | Start of the reporting period. |
| To Date | End of the reporting period. |
| Description | Optional memo for the report. |
7.3 Report Structure
The report queries the General Ledger filtered by the Billable Time Unbilled account. It groups transactions by currency, then by customer, and computes the following columns:
| Column | Description | Calculation |
|---|---|---|
| Opening Balance | Unbilled time balance at the start of the period | Sum of amounts before the From Date |
| New Billable Time | Time entered during the period (positive amounts) | Sum of positive amounts between From and To Date |
| Invoiced | Time invoiced during the period (negative amounts linked to a Sales Invoice) | Sum of negative amounts WITH a Sales Invoice reference |
| Written Off | Time written off during the period (negative amounts without a Sales Invoice) | Sum of negative amounts WITHOUT a Sales Invoice reference |
| Closing Balance | Unbilled time balance at the end of the period | Opening + New − Invoiced − Written Off |
7.4 Report Output Example
Billable Time Summary
Period: 1 Jan 2026 to 31 Mar 2026
Customer Opening New Time Invoiced Written Off Closing
─────────────────────────────────────────────────────────────────────────────
ABC Corporation 0.00 1,575.00 525.00 0.00 1,050.00
XYZ Ltd 500.00 1,200.00 1,700.00 0.00 0.00
Customer DEF 0.00 800.00 0.00 800.00 0.00
─────────────────────────────────────────────────────────────────────────────
Total 500.00 3,575.00 2,225.00 800.00 1,050.00
8. Sample Data
8.1 Scenario
| Customer | ABC Corporation |
|---|---|
| Hourly Rate | 150.00 per hour |
| Period | 1 January 2026 to 31 March 2026 |
8.2 Billable Time Entries Created
| Date | Description | Hours | Minutes | Total Hours | Rate | Amount | Status |
|---|---|---|---|---|---|---|---|
| 15 Jan | Website development — homepage layout | 3 | 30 | 3.50 | 150.00 | 525.00 | Invoiced ✅ |
| 10 Feb | Database optimisation | 5 | 0 | 5.00 | 150.00 | 750.00 | Uninvoiced |
| 5 Mar | API integration — payment gateway | 2 | 0 | 2.00 | 150.00 | 300.00 | Uninvoiced |
8.3 Amount Calculation Verification
Entry 1 (15 Jan): 3h 30m = 3 + 30/60 = 3.50 hours
Amount = Round(3.50 × 150.00, 2) = 525.00 ✅
Entry 2 (10 Feb): 5h 0m = 5.00 hours
Amount = Round(5.00 × 150.00, 2) = 750.00 ✅
Entry 3 (5 Mar): 2h 0m = 2.00 hours
Amount = Round(2.00 × 150.00, 2) = 300.00 ✅
Total unbilled: 525.00 + 750.00 + 300.00 = 1,575.00
8.4 GL Posting for Each Entry (Creation)
Entry 1 (15 Jan) — Created with Uninvoiced status:
Dr Balance Sheet — Billable Time Unbilled 525.00
Cr P&L — Billable Time Movement 525.00
DR = CR ✅
Entry 2 (10 Feb):
Dr Balance Sheet — Billable Time Unbilled 750.00
Cr P&L — Billable Time Movement 750.00
DR = CR ✅
Entry 3 (5 Mar):
Dr Balance Sheet — Billable Time Unbilled 300.00
Cr P&L — Billable Time Movement 300.00
DR = CR ✅
8.5 Invoicing Entry 1 (15 Jan)
When the 15 Jan entry is included in a Sales Invoice for ABC Corporation:
A. Sales Invoice GL:
Dr Accounts Receivable (ABC Corporation) 525.00
Cr P&L — Billable Time Invoiced 525.00
DR = CR ✅
B. Billable Time status changes to Invoiced — reversal entries:
Dr P&L — Billable Time Movement 525.00 (reverses creation contra)
Cr Balance Sheet — Billable Time Unbilled 525.00 (reduces asset)
DR = CR ✅
C. Net effect across all accounts:
Balance Sheet:
Billable Time Unbilled: 0 (created +525, reversed −525)
Accounts Receivable: +525
Cash: 0
P&L:
Billable Time Movement: 0 (contra created −525, reversed +525)
Billable Time Invoiced: −525 (revenue)
Net revenue recognised: 525.00 ✅
8.6 Billable Time Unbilled Account Movement
| Date | Event | Debit | Credit | Balance |
|---|---|---|---|---|
| 15 Jan | Entry 1 created (Uninvoiced) | 525.00 | — | 525.00 Dr |
| 15 Jan | Entry 1 invoiced (reversal) | — | 525.00 | 0.00 |
| 10 Feb | Entry 2 created (Uninvoiced) | 750.00 | — | 750.00 Dr |
| 5 Mar | Entry 3 created (Uninvoiced) | 300.00 | — | 1,050.00 Dr |
8.7 Balance Sheet Impact (as at 31 Mar)
Balance Sheet (Extract):
Assets:
Accounts Receivable (ABC Corporation) 525.00 (from Sales Invoice)
Billable Time Unbilled 1,050.00 (Entry 2 + Entry 3)
Profit & Loss (Extract):
Billable Time Invoiced 525.00 (revenue recognised)
8.8 Billable Time Summary Report Output
Billable Time Summary
Period: 1 Jan 2026 to 31 Mar 2026
Customer Opening New Time Invoiced Written Off Closing
──────────────────────────────────────────────────────────────────────────
ABC Corporation 0.00 1,575.00 525.00 0.00 1,050.00
Total 0.00 1,575.00 525.00 0.00 1,050.00
8.9 Verification of Closing Balance
Opening: 0.00
+ New Time (15 Jan + 10 Feb + 5 Mar): +1,575.00
− Invoiced (15 Jan): −525.00
− Written Off: 0.00
──────────
Closing: 1,050.00
Cross-check with GL:
Billable Time Unbilled balance: 1,050.00 ✅
9. Edge Cases
| Scenario | What Happens |
|---|---|
| No hours or minutes entered | Amount = 0. No GL entries are created (amount rounds to 0). |
| Time Spent = 0 with a rate set | Amount = 0. Same result — no GL entries. |
| Hourly Rate = 0 | Amount = 0 regardless of hours entered. No GL entries. |
| Minutes = 0 but Hours > 0 | Total hours = the whole number. Works correctly. |
| Minutes = 59 (not 60) | 59 / 60 = 0.9833... rounded to 0.98. Amount calculated correctly. |
| Customer not set | The view page returns minimal data — no customer info displayed. |
| Sales Invoice deleted after invoicing | The Billable Time status remains as Invoiced. The reversal GL entries are also reversed when the Sales Invoice status changes. |
| Written Off without a date | The status validation requires both Status = WrittenOff AND WrittenOffDate.HasValue. Without a date, the status shows as Uninvoiced. |
| Foreign currency customer | The exchange rate field appears. Amounts are calculated in the customer's currency and converted to base currency for GL posting. |
| Division set on entry | The division is passed to the GL transactions for reporting. |
| Cash basis accounting enabled | Billable Time transactions are excluded from cash-basis conversion — they remain on accrual basis. |
| BillableTime tab disabled | The tab and all Billable Time features are hidden from the UI. |
10. Accounting Regulation Validation
| Standard | Requirement | Compliance |
|---|---|---|
| IAS 38 / Conceptual Framework | An asset is a resource controlled by the entity as a result of past events from which future economic benefits are expected. | ✅ Unbilled time is recorded as a Balance Sheet asset because the work has been performed and the entity expects to invoice and collect payment. |
| IFRS 15 — Revenue from Contracts with Customers | Revenue is recognised when control of goods or services transfers to the customer. Performance obligations satisfied over time can be recognised based on progress. | ✅ Billable time tracks the progress of work. Revenue is only recognised (via Billable Time Invoiced) when the Sales Invoice is created — which is when the customer is formally billed. |
| IFRS 15 — Transaction Price | The transaction price should reflect the amount the entity expects to receive. | ✅ The hourly rate represents the agreed rate with the customer. The amount is calculated as hours × rate. |
| IAS 1 — Presentation of Financial Statements | Assets and liabilities must be presented separately. Revenue and expenses must be presented separately. | ✅ Unbilled time is presented as a separate asset account. Revenue is recognised in a separate P&L account when invoiced. |
| IAS 36 — Impairment of Assets | Assets should not be carried at more than their recoverable amount. | ✅ Written off status provides a mechanism to impair unbilled time that will not be collected. |
| DR = CR — Double-entry bookkeeping | Every transaction must balance. | ✅ Each Billable Time entry creates 2 GL entries (Dr Unbilled / Cr Movement) that net to zero. Status changes create 2 additional entries that also net to zero. |
10.1 Pre-Save Checklist
[ ] Customer is selected
[ ] Date reflects when the work was performed (not when it is entered)
[ ] Hourly rate is correct (pre-filled from customer, verify before saving)
[ ] Time Spent (Hours) and Time Spent (Minutes) are accurate
[ ] Division is set if required for reporting
[ ] Description clearly describes the work performed (appears on invoice)
[ ] Foreign exchange rate is set if customer currency differs from base currency
[ ] Status is Uninvoiced unless intentionally changing to Invoiced or Written Off
10.2 Complete User Workflow
From Time Entry to Invoiced Revenue:
Step 1 — Create Billable Time Entry:
Billable Time → New Billable Time
Date: 15/01/2026
Customer: ABC Corporation
Hourly Rate: 150.00
Time Spent: 3 hours 30 minutes
Description: Website development — homepage layout
Status: Uninvoiced (default)
→ Save
GL Impact:
Dr Billable Time Unbilled 525.00
Cr Billable Time Movement 525.00
Step 2 — Invoice the Time (when ready to bill):
Customers → ABC Corporation → Click "Uninvoiced" amount
Select the time entry (15 Jan — 525.00)
Click "New Invoice" → Sales Invoice is created
GL Impact (Sales Invoice):
Dr Accounts Receivable 525.00
Cr Billable Time Invoiced 525.00
GL Impact (Time Entry reversal — automatic):
Dr Billable Time Movement 525.00
Cr Billable Time Unbilled 525.00
Step 3 — Verify:
Billable Time Unbilled account: 0.00 (returned to zero for this entry)
Accounts Receivable: +525.00
Revenue (Billable Time Invoiced): 525.00 ✅
End of Billable Time User Guide