Documentation

Export a draw package

The print-clean requisition summary a draw request goes out with, and the checklist that gates it.

The package is the cover sheet a draw request leaves the building with. It is styled for paper rather than for the app, because it is the artefact somebody outside your workspace reads.

It carries the request for advance, the in-balance statement, what this advance covers, and the list of required documents with their status.

One document, three renderings

The screen, the PDF and the Excel workbook are one document produced three ways, not three documents that happen to agree. The figures are gathered once and each rendering only encodes them, so the columns on screen are the columns in the workbook, and a note printed on one is printed on all three.

That is why the requisition table carries nine columns rather than the six the screen used to show: budget, prior draws, this draw, the advance rate, the retainage held, the net advance, the total to date, and the percentage drawn.

Where the lender's structure comes from

The structure is theirs, not yours. It is recorded once per loan: the lender's budget lines, in their order, with their amounts, taken off the exhibit attached to the loan.

There are two ways in. The importer reads the lines off the exhibit when the loan documents are brought in, or they are entered by hand on the budget screen. Either way they belong to the loan, so a project financed twice carries two structures and each package prints in the one its draw was asked under.

Your cost codes stay yours. What ties the two together is a map from each of your codes to one of their lines, and that map is what lets a single ledger answer to both: several of your codes can sit under one of their lines, which is the usual case, because a lender's exhibit is shorter than a developer's budget.

The map is read when the package is produced. Each draw, though, remembers the line every dollar was asked from at the moment it was submitted. So re-mapping a code changes what the next package prints and moves nothing that has already gone out, which is what stops a lender opening this month's requisition and finding that last month's prior-draw column has moved under them.

An incomplete map is not refused, it is reported. Money requested against codes that map to nothing is left out of the table and named in a note underneath, because there is no line in the lender's structure to print it on. A loan with no lender lines at all is the same rule at its limit: the requisition prints an empty table and the entire advance lands in that note. Send that and the lender learns nothing from it. Set the lines up first.

What the notes under the table say

Some things are stated in words under the requisition, because they are figures the table contains without pointing at.

Money requested against cost codes that map to no lender line is named and excluded, since it cannot appear in the lender's structure at all.

Anything drawn past its budget is named. A cost code past its own amount and a lender budget line past its own amount are reported separately, because one lender line usually gathers several cost codes and either can go over while the other does not. Nothing is refused: an overrun somebody approved is an ordinary fact of a job, and a change order is how it becomes legitimate. What this prevents is the lender being the first person to notice one.

The in-balance sentence names what carries it

The test asks whether what is still available covers what finishing the job still costs, and what is still available is the remaining commitment plus any borrower funds contributed and not yet spent. The sentence states both figures wherever both are doing work, so the comparison a reader checks by hand is the comparison the answer was computed from.

The gate is on the page, not on the button

An incomplete package cannot leave. Disabling a button would stop the ordinary route to this page and nothing else, because a URL can be typed, kept in a tab, or forwarded to somebody who never saw the checklist.

So the refusal lives here. While a blocking item on the draw's checklist is outstanding, this page renders a statement that the package is not ready instead of the package. Clear the item on the draws page and the package renders.

What you send

Two buttons under the package produce the file that leaves the building: a PDF of the requisition, and an Excel workbook of the same figures. Both are built from the same result as this page, so what the lender opens is what you read before sending it. The file is computed from every row or not at all: if a read fails while the package is being assembled, the export answers with an error instead of a download, rather than producing a document with quietly missing figures.

Neither filename carries a timestamp, on purpose: two exports of the same draw are the same document, and the second should replace the first rather than sit beside it under a different name. That is also why a funded draw's lines stop being editable, described on the draws page.

The page itself is styled for paper, so printing the browser page is a third route to the same artefact.

Who can

  • Money at view or better: anyone who can see all financials.

Levels are set per person in Settings and people. What each level means.

How to

  1. The current draw, and the checklist the lender asks for. Nothing exports until every line clears.
  2. Your turn. Download the package. It prints in the lender's own budget structure, not ours.

Show me in the app