AWRA OpsHub Search

Work Done and Not Yet Asked For

There is a figure here for work that has been done, is billable, and has not been invoiced. It is the closest thing this product has to work in progress — and the rate it uses can be set per entry, which is exactly what the cost side cannot do.

Projects & Job Costing AWRA OpsHub Team 12 min read

The position, stated first

Uninvoiced billable value is computed and available per project, and it is the number a services business should watch weekly. Read it as revenue not yet asked for, not as revenue earned — nothing here posts it to a ledger, and an hour sitting unbilled for two months is usually an hour that will be argued about.

The most dangerous number in a services business is the one that looks like an asset and behaves like an argument. Work you have done and not yet invoiced is money in every sense except the one that matters.

What the figure is

Hours logged against the project that are marked billable and have not been attached to an invoice, multiplied by the applicable bill rate.

The rate resolution is worth noting because it is unusually flexible for this product: an individual time entry can carry its own bill rate, and the project's rate is used only where the entry does not have one. So a specialist hour on a general project can be priced as a specialist hour.

The asymmetry underneath it

That per-entry override exists on the revenue side and does not exist on the cost side.

A time entry's cost rate is taken from the project and nowhere else. There is no field for it on either the web or the API path, and nothing validates one from a request. So the same hour can be billed at a rate specific to it and is always costed at one project-wide figure.

Bill rate

  • Settable per time entry
  • Falls back to the project rate
  • Available on web and API
  • Drives the unbilled figure

Cost rate

  • Taken from the project only
  • No per-entry field anywhere
  • No API parameter either
  • Drives job cost, flatly

The consequence is specific: margin on a project is computed between a revenue figure that can reflect who did the work and a cost figure that cannot. On a job with a mixed team, the margin is wrong by whatever the staffing mix differs from the assumed average — and it is wrong in a direction nobody can predict per project.

The system will let you charge a specialist rate for an hour and will not let you cost it as a specialist hour.

The seal, which is genuinely good

Once a time entry has been attached to an invoice, it cannot be edited. The same is true once it has been attached to a payout. Those are refusals in the code rather than conventions.

That matters more than it sounds, because project time is not subject to the timesheet month lock that governs attendance. Billable time can be logged into a month that has been closed and paid. The per-entry seal is what stops the more serious version of that problem: an hour that has already been invoiced cannot be quietly changed afterwards.

So the protection is per document rather than per period. That is a defensible design — an engagement is sealed by what consumed it rather than by a calendar — and it is different from how the attendance side works, which is worth knowing rather than discovering.

Reading the unbilled figure weekly

Unbilled billable value The figure
Divided by weekly billing run rate Weeks of WIP
Oldest unbilled entry A date
Posted to a ledger No
Included in job margin No
What it is Revenue not yet asked for

The third row is the one to add yourself. Total unbilled value tells you the size; the age of the oldest entry tells you whether it is a billing rhythm or a dispute.

Four questions about unbilled work

Show me uninvoiced billable value by project.

A good answer sounds like

A figure per project.

What it actually means

Ours has it. Ask, because plenty of tools track time and never total the unbilled part.

How old is the oldest unbilled hour?

A good answer sounds like

A date.

What it actually means

The age matters more than the amount. Ours does not surface it and it is worth computing.

Can an invoiced time entry be edited?

A good answer sounds like

No.

What it actually means

Ours refuses, on both invoice and payout. This is the control that keeps a billed hour honest.

Can the bill rate and the cost rate both vary per entry?

A good answer sounds like

Yes, both.

What it actually means

Ours varies one. Any margin figure inherits that asymmetry.

Billable work in progress, precisely

What AWRA OpsHub does today

  • An uninvoiced billable value per project, computed from unbilled billable hours at the applicable bill rate.
  • A bill rate settable per time entry, falling back to the project rate.
  • Time entries sealed once attached to an invoice or a payout — edits refused, not discouraged.
  • Billable and non-billable as a property of the entry.
  • Project cost assembled separately from labour, purchases, expenses and issued stock.

What it does not do

  • A cost rate per time entry or per person — cost comes from the project rate only.
  • Any ageing of unbilled work. The total exists; the age of the oldest entry does not.
  • Any posting of work in progress to the ledger. It is a project figure, not an accounting one.
  • The timesheet month lock on project time — it applies to attendance only.
  • Any alert when unbilled value or its age crosses a threshold.

Not ours, by choice

  • The per-entry bill rate and the invoice seal are both genuinely well built. The cost-rate asymmetry beside them is the weak point, and it propagates into every margin figure the module produces.
  • Work in progress not reaching the ledger is a real limitation for anybody who needs it on a balance sheet, and it is stated rather than implied — the journal has no project dimension either.
  • Nothing here is Egyptian, Moroccan, Tunisian or Algerian. North Africa is here because engineering and professional services firms billing against milestones are common there, which is where unbilled work accumulates fastest.

This is scope, not a ceiling

What is not built for Tunisia today can still be built for you

Anything described above as not built is a statement about what ships in the standard product today — not a limit on what AWRA OpsHub can do in Tunisia. Kenya's eTIMS integration and its maintained payroll engine exist because Kenyan clients needed them and commissioned them; neither appeared by itself. The same door is open here. If a compounding tax base, El Fatoora clearance, TEJ declarations, a French or Arabic interface, a bank or mobile money feed, a statutory return format, a rule your own operation needs that the standard one does not have, or a link to a system you already run is what stands between you and a decision, tell us and we will scope it as a build — written spec, timeline and price — before you commit to anything.

The base before the pipeline, in that order

Two builds, and the smaller one has to come first. The arithmetic: a tax base that can contain another levy, so FODEC at 1% of the net and VAT at 19% of the net plus the FODEC produce 201.900 on a thousand rather than the 200.000 our totals return today by adding the two rates — with the two amounts separated on the document and on the return rather than blended into one figure. Then the pipelines, and there are two of them: El Fatoora clearance through Tunisie TradeNet in TEIF XML with signature and QR code, and TEJ withholding declarations in XML. We would build them in that order, because a cleared invoice carrying a total that is short by 19% of the FODEC is worse than no clearance at all.

French and Arabic interface, banks and payments

Interface text and document templates in French, or in Arabic with right-to-left layout, plus bank feeds and local payment gateways wired into the Payments Register — with withholding decided at settlement rather than at invoicing, because the threshold is measured per payment.

The operational work, which is what most commissions actually are

An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.

Payroll and statutory returns

A Tunisian payroll engine with income tax bands, CNSS contributions and the TFP and FOPROLOS levies calculated on live employee records, producing declarations in the layout the administration expects rather than rebuilt each month.

Systems you already run

The accounting package, CRM, online store or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed.

How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. No roadmap slide, and no pretending in a demo that something exists when it does not.

Tell us what you need integrated

Watch the age, not just the amount

Total unbilled value tells you how big your [work in progress](/glossary/work-in-progress) is. The date of the oldest entry tells you whether it is a rhythm or a problem, and it is the number to compute yourself.

Talk about billing and WIP

Frequently asked questions

Is unbilled value the same as work in progress?

Conceptually yes, accounting-wise no. It is a project figure computed from hours and rates; nothing posts it anywhere, and the ledger has no project dimension to post it against even if something tried.

What happens if I invoice only some of the hours?

The invoiced entries are sealed and drop out of the unbilled figure; the rest remain. That partial behaviour is what makes the number usable for milestone billing rather than only for time-and-materials.

Can I stop time being logged to a closed period?

Not through the timesheet lock — that governs attendance and project time does not consult it. The protection you have is per entry: once an hour is on an invoice or a payout it cannot be changed.

Help Center

Need a quick answer while you read?

Run inventory, procurement, assets, sales, and field work with approved AWRA guidance for setup, migration, integrations, security, pricing, and support.

Search all approved AWRA public help articles.

Open Help Center