Jobs Closure - Ops Closed vs Finance Closed
What this is & why it matters
Freight jobs don’t always end neatly at month-end. Vendor invoices arrive late, but Finance still needs to close the books on time.
fr8Labs adds a special status—Ops Closed—so operations can finish their part, Finance can close the month using estimates (accruals), and late vendor invoices can still be added (with permission) before the final lock (Finance Closed / Completed).

Status definitions
In Progress – job active; ops working.
Ops Closed – ops handover; finance or selected ops leads can still top-up invoices/charges if permitted.
Finance Closed (Completed) – job is locked. No further edits or invoices unless re-opened by authorized roles.
What changes at each status
Action / Status | In Progress | Ops Closed | Finance Closed (Completed) |
|---|---|---|---|
Edit job operational fields (routing, BL/DO) | ✅ | ⚠️ (allowed if role has access) | ⛔ |
Add / edit sales charges | ✅ | ⚠️ (allowed if role has access) | ⛔ |
Create sales invoice (AR) | ✅ | ⚠️ (allowed if role has access) | ⛔ |
Add / edit vendor costs | ✅ | ⚠️ (allowed if role has access) | ⛔ |
Post vendor invoice (AP) | ✅ | ⚠️ (allowed if role has access) | ⛔ |
Post accruals/estimates | ✅ | ⚠️ (allowed if role has access) | ⛔ |
Re-open job | — | Managed by access control | Managed by access control |
⚠️ = editable by permission (role-based). ⛔ = blocked unless job is re-opened.
Permissions (who can still edit after Ops Closed)
Typical setup (customize to your company):
Role | Mark Ops Closed | Edit after Ops Closed (charges/invoices) | Mark Finance Closed | Re‑open Completed |
|---|---|---|---|---|
Operator | ✅ | ⛔ (unless granted) | ⛔ | ⛔ |
Ops Lead | ✅ | ✅ (override) | ⛔ | ⛔ |
Finance | ✅ | ✅ | ✅ | ✅ (controller only) |
Admin | ✅ | ✅ | ✅ | ✅ |
Close to Ops Closed: controlled by access rights (Ops Lead, Finance, Admin).
Edit after Ops Closed: restricted to Finance or specific Ops Leads.
Close to Finance Closed (Completed): Finance/Controllers only.
Re-open: always controlled by access (Finance Controller/Admin).
Month-end playbook
For Operators
Complete all ops tasks.
Ensure all vendor/customer invoices that have already arrived are posted.
For invoices not yet received, enter them as estimates in the job.
Mark job as Ops Closed when handover is complete.
For Finance
Run Job Management Report.
Filter for Ops Closed jobs.
Filter for ACC status = Pending or EST Sales / Cost > 0.
This ensures accruals are identified correctly.
Post accruals/estimates for missing costs.
Match late vendor invoices later to reverse accruals.
When all costs/revenue are final, set job to Finance Closed (Completed).
Handling pending vendor invoices
Best practice (with accruals):
At month-end, job is Ops Closed.
All received invoices are posted. Missing ones are estimated.
Finance posts accruals to close P&L.
When actual invoices arrive, system reverses accruals and records actuals.
What if not accrued (typical in many systems today):
Job is kept open until vendor invoices arrive.
Month-end P&L is understated (costs missing).
When invoices arrive late (e.g., September), the entire cost is recognized in September.
Net variance: August P&L looks inflated, September shows a dip.
📊 Comparison
Approach | August P&L (Revenue 1,620 SGD) | September Adjustment |
|---|---|---|
With accruals (fr8Labs) | Costs 600 (estimate), Profit 1,020 | Variance +15 (if actual 615) |
Without accruals (typical system) | Costs 0, Profit 1,620 | Costs 615 posted fully in September |
FAQs
Q: Do I need to mark a job as Completed to close the month? A: No. Use Ops Closed and accruals. Month-end closes on time without forcing jobs to Completed.
Q: Can I still add invoices when a job is Ops Closed? A: Yes—if your role has permission (Finance or selected Ops Leads).
Q: What happens after Finance Closed (Completed)? A: The job is locked. No AR/AP changes allowed unless re-opened (by access control).
Q: What if vendor invoices arrive late? A: Enter estimates at month-end. Post the invoice later to the same job; the accrual auto-reverses.
Q: Can I backdate late invoices to the previous month? A: Only if the accounting period is still open. Once the period is closed in the Accounting Module, backdating is blocked.
Worked example
Company currency: SGD Job: OI-2308-0001 (Ocean Import) Job month: August Status at month-end: Ops Closed
Sales (Customer AR)
Line | Charge | Inv Currency | Amount | Company Currency (SGD) |
|---|---|---|---|---|
Ocean Freight | USD | 1,000 | 1,350 | |
Fuel Surcharge | USD | 200 | 270 | |
Total | 1,200 USD | 1,620 SGD |
Costs
With accruals (Aug):
Cost | Estimate (SGD) |
|---|---|
Freight | 420 |
Port Charges | 180 |
Total | 600 |
August P&L: 1,620 – 600 = 1,020 profit.
September: invoice comes at 435, system reverses −420 and adds +435. Variance +15 hits September.
Without accruals (typical FMS):
August P&L: 1,620 – 0 = 1,620 profit (overstated).
September: entire 615 posted, profit reduced.
Net variance: timing difference; month-end P&L unreliable.
🔖 Bonus: Using User Defined Status for Internal Tracking
In addition to the system statuses (In Progress → Ops Closed → Completed → Cancelled), fr8Labs gives you a flexible field called User Defined Status.
This is purely for your company’s own tracking. It does not affect the accounting or operational locks.

Why use User Defined Status?
To mirror internal milestones that are unique to your company.
To make job monitoring easier for teams without overloading the system statuses.
To improve reporting with filters like “Draft vs Verified” or “Urgent vs Normal”.
Examples of how companies use it
User Defined Status | Meaning in practice | Notes |
|---|---|---|
DRAFT | Job details still incomplete | Commonly used before Ops Lead checks |
VERIFIED | Job checked by Ops Lead | Can pair with system status = In Progress |
WAITING DOCS | Pending customs / BL release | Does not block invoicing |
URGENT | Flagged for priority handling | Helps in dashboards & alerts |
RECHECK | Finance wants Ops to confirm charges | Keeps conversation clear |
How it works with system statuses
System Status (In Progress / Ops Closed / Completed / Cancelled) = affects locks, accounting, and controls.
User Defined Status = flexible label for tracking; can be changed anytime; has no lock impact.
👉 Example:
Job Status: Ops Closed
User Defined Status: WAITING DOCS → This tells your team “Ops is done, Finance has control, but we’re still missing paperwork.”
⚡ Best practice: Keep system statuses for accounting & locks, and use User Defined Status as your team’s own sticky notes for workflow tracking.
Documentation owner: Fr8Labs Customer Success. Formatting reviewed: 21 September 2026; product behaviour not reverified in this formatting pass.