Torspan
AirOrchestra — What it does

The office gets a file. The GC gets a PDF.

Both are made out of what the crew already said, on the day it was said. The bookkeeper opens a spreadsheet with the columns in the order she put them in. The GC gets one PDF a week per job, with the photos in it. Neither of them has an account here, neither of them has anything to learn, and nobody keys a week off a photo of a legal pad.

The file a bookkeeper opens

Nothing in it was typed by anybody in an office. Every row came out of a sentence somebody said standing on a job.

HOURS_Riverbend-Bldg-2_2026-08-10_2026-08-14.xlsx
1 Person Date Job Hours Cost code Source Submitted by
2 Ray D.08/10/26Riverbend Bldg 28.004-220“eight for me Marco and Dee”Ray D.
3 Marco A.08/10/26Riverbend Bldg 28.004-220“eight for me Marco and Dee”Ray D.
4 Dee W.08/10/26Riverbend Bldg 28.004-220“eight for me Marco and Dee”Ray D.
5 Tomas R.08/10/26Riverbend Bldg 28.004-220“Tomas full day”Ray D.
6 Ray D.08/11/26Riverbend Bldg 29.504-220“long one, nine and a half”Ray D.
7 Marco A.08/11/26Riverbend Bldg 29.5“Marco stayed with me”Ray D.
8 Dee W.08/11/26Riverbend Bldg 28.004-220“Dee left at three thirty”Ray D.
9 Tomas R.08/13/26Riverbend Bldg 26.004-220“six for Tomas, he left at one”Ray D.
10 Tomas R.08/13/26Riverbend Bldg 27.004-220“it was seven not six, I stayed”Tomas R.
As ofSat, Aug 15, 2026, 6:40 AM
BlankTomas R. — nothing reported Tue Aug 11, Wed Aug 12
CorrectedRow 9 corrected by row 10. Row 9 stays.

Column E is empty on row 7 because nobody set a code for what he described. It is empty, not guessed, and it takes somebody in the office about two seconds to set.

Invented crew, invented job, invented cost code. Nothing in that file is a real person, a real jobsite or a real week of anybody's pay.

What it does

  • It writes the day up once and keeps it current. One account of Thursday, not a nine o'clock note, a noon note and a four o'clock note for somebody to reconcile in November.
  • It makes the file the office already keys from. Person, date, job, hours, the cost code where the office set one, and the sentence each row came from. CSV or XLSX, same columns in the same order every week.
  • It puts the week in one PDF per job — the days, what got installed, the photos, the safety paperwork and who signed it, the questions and their answers, the hours totalled.
  • It leaves the quiet days quiet. A day nobody described comes out blank and named as blank. Silence does not turn into “work continued.”

How it works

Five steps, in the order they happen on the job.

01

The crew says the day, the way it already does.

Typed with a thumb, or held down and spoken. Nobody opens a report. There is no report to open.

02

The account gets written, and rewritten.

The first thing anybody says about a day starts it. Everything said afterward rewrites the whole thing, so what exists at any minute is one current account — with that day's installed work, that day's photos and that day's answered questions folded in where they belong.

03

The file gets made as of a minute.

Person, date, job, hours, code, source, submitter. Whoever keys it sets the column names and the order once, and after that they are a contract. Same columns Monday, same columns in February.

04

A foreman puts his name on the week — or doesn't.

Either way the file exists and either way it says which. His name is a fact on the file, not a gate that holds four men's pay.

05

It goes out, or it gets pulled.

Mailed on a schedule to the people who should have it, or pulled off a desktop the minute somebody wants it. Both produce the same file.

Nowhere in those five steps does a person open a screen and fill it in. Everything after step 1 happens to a record that already exists because somebody talked.

The day gets rewritten, not added to

This is the part that behaves differently from what an office expects, so it is worth a paragraph rather than a bullet.

Most systems accumulate. You get an entry from nine in the morning, another from noon, another at quitting time, and by Friday somebody has three partial versions of Wednesday and the job of deciding which one is true. A record that accumulates is a record somebody reconciles later, and later is always somebody in an office with less information than the man who was there.

Here the account is rewritten whole every time it changes. Tell it more at noon and you do not get a second paragraph appended under the first — you get Wednesday, rewritten, as it now stands. What the office opens on Friday is one story, current as of the last thing anybody said.

Two men remembering it differently is not a conflict to resolve. If Marco says the north corridor topped out and Dee says it did not, the account carries both, with a name on each. It does not average them, it does not pick the one that came in last, and it does not quietly drop one. Two attributed sentences is an honest Wednesday. One smoothed-over sentence is a guess with nobody's name on it.

The day's report · as it stands right now
Daily reportRiverbend Bldg 2
DayThu, Aug 13, 2026
Written4:06 PM — third version today

See the two earlier versions See what changed

North corridor. Marco A. reported it topped out at 2:15. Dee W. reported two joints still open at the corridor end at 3:02. Both are below, in their own words.

Shaft started at the second-floor landing. The AHU-3 curb is clear and the opening is framed.

FCU-14 rough-in on the east side is waiting on the revision to M-501. The boom lift stays through Friday.

MARCO A., 2:15 PM
“north corridor's topped out”

DEE W., 3:02 PM
“still two joints open at the corridor end”

Both lines are in the report. Neither one was chosen over the other by anything that was not standing there. Invented crew, invented job, invented sheet number.

Three versions of Wednesday is not a record. It is three people's Wednesdays and a job for whoever has to pick one.

What's in the file

Every row, every week. This is the block a controller screenshots and sends to whoever does the import.

PersonWho the hours belong to
DateThe workday
JobWhere the work was
HoursThe number, as he gave it
Cost codeWhere the office set one. Blank where it didn't. Never guessed
SourceThe sentence the row came from, word for word
Submitted byWho sent it, and the minute it arrived
As ofThe minute this file was made

The columns do not move. Whoever keys them names them once and orders them once — including renaming them to whatever the import map already expects — and after that they stay where they were put. That is the actual difference between a file that saves an office an hour and a file that costs it one every Monday, and it is the whole reason the column list is published here instead of being discovered.

A correction after the file went out does not rewrite the file. A new file is made, with a new as-of stamp, and the old one is still the old one. Two files and two stamps is a record. One file that quietly changed between Friday and Monday is a problem nobody finds until an audit.

A mid-week file is a mid-week file. Pull it Wednesday at 11:04 and it says so on the face of it, and it says the week is not closed. Nothing is rounded up to a full week that was not worked.

Two things, downloadable from this page

  • A sample file — the week above, as a CSV. Open it, key it, break it, hand it to whoever does payroll before anybody talks to anybody.
  • The column spec, one page — names, types, what is blank and when. Published, not behind a login.

The week the GC gets

One PDF, per job, per week. It goes out under your company's name — nothing on it advertises the software that made it. It is the thing an owner forwards when somebody asks him to show his work, and it is the thing that makes a GC stop asking every Thursday.

Weekly pack · page 1
CROSSCUT MECHANICAL RIVERBEND BUILDING 2
Week of Aug 10 – Aug 14, 2026
DaysEach day's account, as it stood at close
WorkWhat was installed, where, and who said so
PhotosThe week's photos, on the right day, with the words that came with them
SafetyThe pre-task plans and who acknowledged each one
QuestionsWhat was asked, who answered it, and when
HoursBy man, by day, totalled
BlanksThe days nobody described

The last section is the one nobody else prints.

Invented contractor name, invented job. The name in that header band stands for your own company's mark, which is the only company name that ever appears on the pack.

That last section is not an apology and it is not an error list. It is one line per day that nobody accounted for, and it exists because a week with two blank days in it and a note saying so is worth more, three years later, than a week with two invented days in it and no way to tell which two.

Weekly pack · the blanks section
Tue, Aug 11Tomas R. — nothing reported.
Wed, Aug 12Nothing reported. Blank.

Same weight and same rule as every other section of the pack. No red, no warning mark, no apology under it.

Whose name goes on the week

Before the week leaves, a foreman can put his name on it. What he is agreeing to is that what his men reported is what happened. That is confirmation, and it is not authorship.

His approval never becomes the source of a row. The words on the row stay the words of the man who said them, with his name and his minute on them. Nothing about signing off overwrites anybody, and there is no version of this where a file says a foreman said something a foreman did not say.

And it is not a gate. If nobody signs off, the file still gets made and still goes out, with one line on it saying so. Payroll does not wait on a signature, because a system that holds four men's pay hostage to a checkbox is a system a foreman learns to route around by Thursday.

The field on the file · one of two things
ApprovedRay D. · Sat, Aug 15, 6:38 AM

or

ApprovedNot approved — sent as reported

Either way the file was made, and either way the file says which. Invented crew, invented job.

Why a file and not a connector

Here is the honest answer to the question an office asks in the first five minutes, before anything else on this page matters.

There is no connector. Not to QuickBooks Desktop or QuickBooks Online. Not to Sage 100 Contractor, Sage 300 CRE or Sage Intacct. Not to Foundation, Viewpoint Vista, Viewpoint Spectrum, Deltek ComputerEase or CMiC. Not to Paychex and not to ADP. There is a file, in two formats, that every one of them will take.

That is a smaller promise than a connector and it is worth understanding why it is deliberate rather than late.

A connector has a version number and a maintainer. It is a promise about somebody else's product, kept for years, on somebody else's release schedule. When their version changes, your Monday changes — and the way an office finds out a connector broke is by not getting paid on Friday. A file has no version and no maintainer. It opened last year, it opens now, and it will open on a machine in an office where this software was cancelled two years ago.

Where this is genuinely worse than what the office has now

A real accounting sync writes employees, jobs and cost codes in both directions and keeps them from drifting apart. This does not do that. Jobs and codes get set in one place and read in the other, and if somebody adds a code in the accounting system on Tuesday it is not here on Wednesday until somebody adds it here too. That is real work, it is small, and it is not going to be described as anything other than what it is.

What the office actually does with it

01

The file lands in a mailbox on the schedule it was set to, or gets pulled off a desktop.

02

It gets imported the way the office already imports a file, using the column names the office already chose.

03

Anything with a blank cost code shows up on one list to be set by somebody who knows.

Nobody has ever been unable to open a CSV.

When the GC has his own system

On plenty of jobs the GC runs Procore, or Autodesk Build, or Fieldwire, and the sub's daily report is expected to be typed into it. That is the reader's life and it is worth answering plainly instead of pretending it away.

Nothing here writes into any of them. There is no push, no sync, no plugin, and none is coming inside the year.

What changes is what the person doing the typing is working from. Right now he is working from memory, four days late, at nine at night, and what he produces is the reason a GC's daily log for a sub is usually three lines long. With this, the day is already written, with the photos already on the right day and the men's own words already on the work. Whoever pastes it into the GC's system is reading, not remembering — and the version that goes into the GC's system says the same thing as the version in your own file, which is the part that matters the week somebody pulls both.

And your copy is yours. A record that lives only inside the GC's account is a record you stop having on the day the job closes out and your access goes away. This one is on your side of the line, whole, for as long as you keep it.

Who owns the record, and what happens if the company stops. → Your records

What it says when there's nothing to send

The words the product actually uses, in the screens above. Not a friendlier version written for a website.

WhereWhat it says
A day in the week nobody describedWed, Aug 12 — nothing reported. Blank.
Export pulled before the week is closedMade as of Wed, Aug 12, 11:04 AM. The week isn't closed.
Correction after a file was sentThat file was made Aug 15, 6:40 AM. Making a new one — the old one stays as it was.
Week nobody signed off onNot approved — sent as reported.
Job with no cost codes setNo cost codes on this job yet. The column comes out empty.
Two men describing the same day differentlyTwo accounts of Thursday. Both are in the report, with names on them.
A whole week with nothing reportedNothing was reported this week. There's no report to make.
Scheduled mail with nothing newNothing new since the last one. Not sending an empty file.
Weekly pack with no photosNo photos this week.
Pack made while documents are still being readThree documents on this job haven't been read yet. They're not in this pack.
Export requested for a job the person can't seeThat job isn't yours to pull.
Mail delivery failedThat didn't send. It's still here — try again or download it.

Every one of those is the alternative to a file that looks complete and isn't.

What it won't do

It is not accounting. No invoicing, no AP, no AR, no general ledger, no WIP, no over/under billing, no payment applications, no checks.

No job costing and no estimating. It hands over hours with the code the office set on them. What those hours cost, and whether the job is making money, is the office's system and the office's job.

No scheduling, no project management, no submittal log. It does not run the job. It writes down what happened on it.

No connector to any accounting or payroll system, named above one by one, so nobody has to guess which one is the exception. There isn't one.

No certified payroll, no intents and affidavits, no prevailing wage determinations, no union fringe calculations, no OSHA log. Those are filings with rules of their own and they are not made here.

No labor productivity report about a man. No utilization, no units per hour, no ranking of crews, no profitability by person. There is no screen that puts two men's numbers side by side, and there is no column for it in the export either.

No live dashboard. Nothing here is built to be left open on a monitor in an office so somebody can watch a jobsite all afternoon.

The complete list, including the things people wish it did. → What it won't do

What it takes off Friday

Not the craft. The second shift after the real one, and the office's version of the same shift.

  • The Sunday-night daily log, written from memory four days late, by a man who has been awake since four-thirty five days running.
  • The office keying a week off a photo of a legal pad, and calling three people to ask what a word says.
  • The Friday afternoon spent making four men's texts agree with a time sheet that somebody already signed.
  • The forty-five-minute phone call in October to reconstruct a Tuesday in August, which produces an answer nobody would want to defend.
  • The GC's Thursday email — who was on level 3 on the 13th, what did you find, do you have a photo — answered by forwarding something that already exists.
  • The second entry. The foreman writes the day in one system and somebody in an office writes the same day again in another one. That is the task this page exists to delete.

How long it has to last

The file is not finished when payroll is finished. Somebody comes back for it, and it is usually somebody with a lawyer, years after the last man left the building.

What the rule saysWhere it says itWhat that means for a week you export
Contractors shall make records available “3 years after final payment” FAR 4.703(a)(1) On federal work, the week made in August 2026 can be asked for well into 2030
“Each contractor, subcontractor, or employer shall keep accurate payroll records for three years from the date of acceptance of the public works project by the contract awarding agency” WAC 296-127-320 On public work in this state the clock starts at acceptance, not at the payroll date — which is usually much later than people assume

What is kept here: the files that were made and their as-of stamps, the account each one was made from, and the messages the rows came out of. Not a summary of them. The actual sentences, with the men's names and the minutes on them.

And all of it comes out any day, whole, in files that open without this software — which is the point of the whole arrangement and is written out in full one page over.

This is not a compliance product and it does not certify anything. It states the standard, states what the record contains, and states how long it is kept. Whether a business meets a rule is between that business, its lawyer and the agency asking. → Your records

See it work.

See it work See what it costs

Everything on this page was made on a phone, by men who never opened a report screen. → The app

The office's next question is the number, and it is on the page rather than behind a form. → What it costs