HourDuo

Invoice every hour your client approved,
and none they didn’t.

For UAE staffing and labour-supply companies that bill monthly for approved hours. Before the invoice goes out, HourDuo compares the client-approved timesheets, the contract rate card and your draft invoice, then lists every difference by site, role and hour type, with the AED amount before VAT and the rows it came from.

Anonymised exports only. Encrypted on upload, open in the app only to people your finance team adds, deleted on a date you agree.

Review Sample client · hourly labour supplyPeriod October 2026 · closedVersion 1Fictional example data

Finding 001

Open

Project A · Electricians · Regular hours

Approved hours missing from the draft invoice

Contract rate
AED 45.00 / h
Expected 480.00 h × 45.00
AED 21,600.00
Billed 420.00 h × 45.00
AED 18,900.00
Potential underbilling
AED 2,700.00before VAT

The analyst checks whether the 60 hours were left out on purpose. If the contract allows billing them this month, the draft is corrected in your accounting system, the way it is today.

Source rows

  • Project A · Electricians · Regular
    RowDateWorkerHoursStatus
    201 OctW-01428.00Approved
    301 OctW-01578.00Approved
    401 OctW-01638.00Approved
    …57 more approved rows
    6230 OctW-01638.00Pending, counts 0
    60 approved rows480.00counted
  • Project A · Regular · amounts before VAT
    RowDescriptionHoursRateAmount
    7Electrician420.0045.0018,900.00
  • Project A · effective on every work date
    RowRoleTypeAED/hEffective
    3ELECRegular45.0001 Jan–31 Dec 2026

Decision

Open. No decision recorded yet.

It works from the three spreadsheets you already export.

Open a review for one client, contract and month. Upload each file as CSV or XLSX and map its columns once. The mapping is saved for next month’s close.

IN 1

Client-approved timesheets

Work date · site or project code · role or rate code · hour type · approved hours · approval status, if you have it

Rows marked pending or rejected count as zero approved hours. With no status column, you confirm the file holds only client-approved entries.

IN 2

Contract rate card

Site or project code · role or rate code · hour type · agreed AED hourly rate · effective dates

Each hour is priced at the rate in effect on the day it was worked. Overtime uses the agreed overtime rate wherever it is billable.

IN 3

Draft invoice lines

Site or project code · role or rate code · hour type · billed hours · billed rate · line amount before VAT · invoice reference

Every original row number is kept, so each finding points back to the line it came from.

Group
Both sides are totalled by site, role and hour type for the selected contract and period.
Price
Approved hours are priced at the contract rate for each work date, then added up.
Compare
Expected charge against billed amount, as a signed difference. When hours and rate are both off, the amount is counted once.
Trace
Every finding links to the file, sheet and rows it used, on both sides.

It flags what’s missing, and what shouldn’t be there.

Potential underbilling and potential overbilling are listed separately. The aim is a correct invoice, not a bigger one.

Differences HourDuo lists, and which way each one points
FindingWhat it meansDirection
Approved hours missing from the invoiceThe client approved time that no invoice line bills.Underbilling
Invoice lines with no approved timeA line bills hours the approved timesheets don’t support.Overbilling
Hours that don’t matchBoth sides have the group, with different hours.Either way
Wrong rateThe billed rate isn’t the contract rate. Flagged even when the hours match.Either way
Suspected duplicatesThe same hours appear twice, such as a repeated invoice line.Overbilling
Overlapping or missing ratesTwo contract rates could apply to the same hours, or none does.Held
Combined descriptionsOne invoice line covers several roles with no breakdown.Held

Held groups stay out of the money totals until someone resolves them, so a total never rests on a guess.

Your analyst decides each one. Finance signs off.

HourDuo never edits the invoice. It shows the evidence and keeps the record. The invoice is still issued from your accounting system.

Confirm correction
The difference is real. The draft gets corrected before it is issued.
Dismiss with reason
It was deliberate or isn’t billable. The reason stays with the finding.
Leave open
Still being checked. It stays on the list until someone decides.

Every decision records who made it, when, and why. Replace a file and the review opens a new version that needs fresh sign-off, while the original stays available to authorised users.

Review sign-off
Reviewed byBilling analyst
Date03 Nov 2026
Approved by financeFinance manager
Date04 Nov 2026
Export · findings_oct-2026.csv
finding,site,role,hour_type,approved_h,invoiced_h,rate_aed,difference_aed_ex_vat,decision,reviewer,decided_at,reason
001,Project A,Electricians,Regular,480.00,420.00,45.00,2700.00,confirmed,billing.analyst,2026-11-03 10:42 GST,

One row per finding with its decision, ready for finance. Sample data.

Try it on a month you’ve already closed.

Pick one client and one billing period your team has already invoiced, ideally the client that takes longest to bill. You see which entries your team would have changed.

  1. Choose the client and the closed month

    One client, one contract, one period that is finished and invoiced.

  2. Send the three exports, anonymised

    Approved timesheets, the rate card and the invoice lines. Worker codes instead of names are fine.

  3. Go through the findings with your billing supervisor

    Each difference is shown with its source rows, so your team can check it against what they know.

  4. Finance marks what it would have changed

    That list is the result. We also compare review time with how your team does it today.

Pilot data terms

  • Anonymised exports only
  • In the app, access only for people your finance team adds
  • Uploads encrypted
  • A deletion date agreed before we start
  • No other company can open your files, reviews or exports
Good fit
You bill clients monthly for approved regular and overtime hours across several sites, and someone still checks timesheets against invoice lines by hand.
Not yet
Fixed-fee placements and lump-sum contracts. Payroll, ERP connections and scanned documents aren’t part of the first release.

Where HourDuo is today. It is looking for its first pilot companies and is not yet in production with customers. The first release covers hourly, AED-denominated contracts, with amounts compared before VAT.

No price list yet. The pilot shows what your team actually corrects and how much review time it saves. A subscription is only discussed after that, if finance sees value in it every month.

Notes to the report

Does HourDuo change our invoice?
No. It lists differences and records decisions. Your team corrects the draft and issues the invoice in your accounting system, as it does now.
Are amounts with or without VAT?
Without. Every amount is compared before VAT, in AED.
How is overtime handled?
Overtime is its own hour type, priced at the agreed overtime rate wherever overtime is billable under the contract.
What about hours the client hasn’t approved yet?
Rows marked pending or rejected count as zero approved hours, so they never inflate the expected amount.
Do we need an integration?
No. It reads CSV or XLSX exports and gives you a CSV of findings and decisions back.
What if we upload a corrected file?
It opens a new version of the review that needs fresh sign-off. The earlier version stays available, and re-uploading the same invoice doesn’t change the totals.

Request a pilot

Tell us who you are and which closed month you’d like to check. The button prepares an email in your mail app; nothing is sent until you press send.

Or write to us directly: pilot@hourduo.com

Opens your email app with these details filled in.

Email the address on the left with your name, company and the month you’d like to check.