Running a project
How a job moves through Complied from the moment a violation or duty comes due to the moment it is billed and closed. It is written for project managers, dispatchers and back-office staff. Each stage has its own guide: field visits, documents and filing and proposals and invoices.
A project is one unit of billable work on one building: on one apartment, or on the building itself (common areas, records orders, violations that name no apartment). Never several apartments: eight apartments with lead violations are eight projects. It always records why it exists (its origin) and its page is laid out as one lifecycle, every step always open: Overview → Proposal & scope → Schedule → Field work → Documents & filing → Billing, plus Activity, everything that happened.
The Projects page
Projects (/projects) opens on the table of every project you can see. Under the title, one
line says how many are open and how many need you (and how many client requests are waiting).
- Stage tabs: Open, Intake, Scheduling, Field, Docs & QA, Billing, Closed, each with a count. The stage shown is the phase you set, moved on to where the visits already are: a project left at Intake whose visits are all done shows under Docs & QA. That is a reading only; the phase itself is never changed for you.
- Search (address, client, apartment, order, assignee, next step), Filter (a side sheet: needs attention, client, building, borough, service, assignee, origin, when opened, due, and documents if you can see them, each with a count), Sort (next due by default; also opened, client, stage, needs attention first, project) and Save view.
- Group levels you can stack: Client › Building by default; also Apartment, Stage, Service, Assignee, Origin. Each group header counts how many need you, how many are overdue and how many projects it holds; folded groups are remembered in this browser.
- Columns: Project (with service and trigger), Building · Apt, Client, Stage (a five-step bar), Assignee (the inspector on the next open visit, or the one person whose role works that stage: Project admin for Intake, Dispatch for Scheduling, Compliance for Docs & QA, Billing for Billing; otherwise "Unassigned"), Next (the one next step in words, with a date chip that turns red when late), Documents and Money (on wide screens, with the matching permissions) and Status (Needs you, Waiting, On track, Blocked, On hold, Closed). Phones get one card per project. Each row's … opens the project, its building, Log outreach, or copies the link.
"Needs you" means the next step is yours: your role's stage, a visit you're booked on, or anything past its correct-by. Someone whose role works no single queue (an admin) sees every queue.
The … menu at the top holds the hub's other views, each shown only to someone who may open it:
| View | What it shows | Who sees it |
|---|---|---|
| Overview | Open, overdue, visits this week and to book, documents to sign and send, unpaid and ready to bill, the pipeline by stage and the most overdue projects; each number opens the table on that slice | Anyone who can view projects |
| My queue | What you have to do, grouped by the action, most pressing first | Anyone who can view projects |
| Field work | The dispatch board, or an inspector's own day (field visits) | Anyone who can see field jobs or do field work |
| Work orders | Client requests waiting for a decision (client portal) | Manage-work-orders |
| Floor plans | The floor-plan queue (field visits) | The floor-plan permission, or field-job access |
The view is in the address (?tab=overview, ?tab=field…), so it can be bookmarked; the old
addresses /field, /work-orders and /floor-plans open their view. You start on the table if you
can view projects, on Field work if your work is your own jobs, and otherwise on your first view.
Export CSV (in …) downloads the rows the table shows.
Before you start
- The building must be tracked by your company and assigned to a client. A project belongs
to its building's client. Track a building from its page (
/buildings/:id, Track building), then choose its client in the Client card. - To create a project you need the permission to manage projects. To change the phase or side state you need the permission to advance projects. An inspector or dispatcher who lacks a permission simply does not see the control.
- Recording decisions needs the manage-projects permission; scheduling visits needs the manage-inspections permission. See team and roles.
Start a project
There are four ways in. All of them create the same kind of project.
| From | How | What is prefilled |
|---|---|---|
| A violation | Open the violation (/violations, then a row) and choose Start the work | The project is created at once with that violation linked, for its apartment (or the building), and opens on Proposal & scope. If the violation is already in a live project, it says so and offers to open that one |
| A building | On the building page, Start a project (in "Our work here") opens a drawer | The building and its client |
| The Projects list | New project (/projects/new) | Nothing: pick the client, then one of their tracked buildings |
| A need on Deadlines | Create project beside a need on /deadlines, or under What needs doing on an apartment page's Overview (/units/:id) and on its Compliance checklist | The apartment, the building and the reason, and the project is recorded against that need |
The form asks for:
-
Origin. Violation (an agency cited the property) or Obligation (a recurring duty came due). The origin cannot be changed later. Ticking a violation sets the origin to Violation.
-
Violations (Violation origin only). The building's open violations are grouped by apartment, with a Building group last for violations that name no apartment (BLDG, BSMT and the like) and for records orders (618–620), which are always the building's even when they name an apartment. Search by order, apartment or violation number, narrow by order code, class or overdue, and tick the ones this job answers. Hovering a row previews it. At least one is required. A violation already in a live project is greyed, with a link to that project: a violation is only ever in one live project.
Ticks across apartments create one project per apartment, plus one for the building, all at once. The form says what it will make ("Creates 3 projects: Apt 3A (4) · Apt 5B (1) · Building (3)"). One project opens straight away; several land on the building's Our work here tab.
-
Apartment or building (Obligation and occupant request). Pick the apartment the work is for, or Building. Required. A need from Deadlines picks its apartment for you.
-
How the request was received, and any client notes.
Linking orders later. Orders picked here are linked when the project is created. An obligation or occupant-request project starts with none. To add orders afterwards, use Link HPD orders on Proposal & scope (needs manage-projects). It lists the open lead orders in the project's own apartment (or, on a building project, the building's) that aren't linked yet and aren't in another live project. An order in another apartment belongs to that apartment's project. The same dialog unlinks an order that has no recorded decision.
The project page
The top of the page is one card. It shows the building's picture (on a tablet or wider), what the project is (its reason, else its program), a line with the origin, the program and the date it was opened, and links to the building, the apartment (or "Building") and the client. Beside them sit the Stage (the phase), the side state if it has one, and the Next up line. The subtitle names who opened it. At the top right, one button does the next thing in the order the work runs (decide the orders, the proposal's next step, Log outreach, open the next job, file the missing documents); the same button sits under Next action on Overview.
Next up lists what is still open, in lifecycle order: orders without a decision, the earliest correct-by date among orders still open at HPD (or "past due since" once it has passed), the next booked visit or how many visits are left to schedule, and how many required documents are missing. A step with nothing open is left out. The line reads "Nothing outstanding" when every step is clear. It never counts money, and people who can't see documents don't get the document count.
Along the bottom of the card, a row of numbers: Correct by (the nearest open deadline and how many days are left), Orders (decided of linked), Visits, Documents (filled of required, with the permission to view documents) and Invoices (outstanding, with the permission to view financials). Each opens the tab that explains it.
People who can advance projects change the phase and side state from the … menu at the top right:
- Set phase: Intake, Scheduling, Field, Docs & QA, Billing, Closed.
- Set side state: Blocked, On hold or Cancelled, or None.
Both are labels you set by hand. Nothing moves them, nothing checks them, and every tab stays open whatever they say. A change is recorded in the project's history. Setting Closed while orders are undecided or required documents are missing asks you to confirm first, listing what is outstanding; Close anyway goes ahead.
The tabs
| Tab | What it holds |
|---|---|
| Overview | Where it stands (one row per step below, each opening its tab), Violations and deadlines (every linked order with its correct-by date), and beside them About this project, Next action, the Proposal steps (with the permission to view financials), the Building card, Collaborators and Recent activity. A client work order's request is at the top |
| Proposal & scope | How each order is cured (see Proposal & scope), the Proposal workflow and the Proposal, with the Building card beside them |
| Schedule | Every visit, in the order the office has to act on it, with its date, inspector and outreach count; and the outreach log: each attempt numbered on its visit, how, who by name, what came of it and the note. Log outreach (manage-inspections) adds one; "Agreed access" also moves the visit on. Booking happens on Field work |
| Field work | The tracks and their visits (see Field work) |
| Documents & filing | The compliance checklist and the project's other files. Only with the permission to view documents |
| Review | The compliance check before filing: every order and how it is cured, every visit (when, who), every current document and the required ones still missing. Sign off records you, the time, a note and a snapshot of all of it; afterwards the tab lists exactly what changed since. Only with the review permission (the same key as XRF report review) |
| Billing | Invoices and vendor payments. Only with the permission to view financials |
| Activity | Every event on the project: decisions, visits, outreach, documents, packages, proposals, invoices and collaborators, with People (the client, who to reach on site, each inspector with their visits and licences, the abatement crew, who opened it) and Collaborators beside it |
Each tab shows a small count when something is open there (orders undecided, visits to book, documents missing, invoices unpaid), a tick when that step's own facts say it is finished, and Now on the step the phase points at. None of them blocks you from opening any tab.
The tab is in the address (?tab=proposal). Old links keep working: ?view=decide opens
Proposal & scope, ?view=work Field work, ?view=file Documents & filing,
?view=money Billing and ?view=timeline Activity.
Collaborators
To involve another company on this one project, choose Invite in the Collaborators card, pick the company from the list and a role:
| Role | What the company can do |
|---|---|
| Field execution | See this project and run its field visits |
| Abatement | Perform the abatement work |
| Clearance sampling | Take the post-abatement clearance wipes |
| Lab coordination | Handle chain of custody and lab submission for the samples |
A collaborator sees only this project and never its invoices, proposals, rate cards or vendor payments. The dialog warns when the same company would hold both the abatement and the clearance role, because clearance must be independent of the abater (rulebook §7); the invite is still allowed. Revoke removes access.
Building
The Building card states what the building data says around the project's orders, so you don't have to open the building page to read them:
- Year built and units (from PLUTO), with what year built means for lead paint: presumed before 1960; between 1960 and 1977 only where the owner knows of it; none after the 1978 ban.
- The owner and managing agent on the HPD registration, when one is loaded.
- Open HPD records that change how the orders are worked: a vacate order (HPD or FDNY), selection into HPD's Alternative Enforcement Program, open HPD emergency repairs (work HPD did itself and bills the owner for, with the amount billed), and other open lead orders in the building that aren't on this project (it opens them in Violations). Link those from Proposal & scope if they belong here.
Building page opens the building for everything else. The links underneath open the city's own pages: HPD Online (HPD's view of the building, its violations and registration), DOB BIS (where the Certificate of Occupancy is, for the building-age contest ground), ZoLa and Street View.
Proposal & scope
The proposal workflow. Above the proposal card, each firm's proposal shows its steps: Office scope & save → Admin approval → Sent to client → Client accepted. Approve this version records who approved which version of the lines; editing the lines afterwards shows "changed since it was approved" until it is approved again. Send to client to sign on the proposal card emails it to the client's portal logins and sets it sent (have the client sign); Mark sent to client sets it sent when you sent it some other way. The client's signature, e-signed in the portal or recorded from paper on the proposal card, is the acceptance. These buttons need the permission to manage proposals; the steps are stored in the project's history and are never edited.
Proposal & scope lists the project's HPD lead orders on the left, one row per violation, worst first: overdue (and decisions to make again), then blocked, then open, then awaiting HPD and closed, with decided orders last. Two violations with the same order number are two rows, decided apart: an open 616 and an overdue 616 in one apartment get different options. Each row names its apartment and its state (Open, Overdue, Awaiting HPD once a certification is on file, Closed), and says postponed when HPD granted a postponement (the due date shown is then the postponed one). Pick an order to see, on the right:
- its family, apartment (a link to the apartment's page), its state, a Postponement granted flag, HPD class and a Rent-impairing flag where HPD set one, with the correct-by date and penalty;
- what HPD's own record says: HPD status (for example "NOV sent out" or "Violation will be reinspected"), the issued date, the certify-by date (or the date it was certified), and the violation number, which opens the full violation page;
- where HPD cited it ("1st window frame from west at north wall, in the bedroom"), parsed from the notice of violation, with Notice text to read the notice itself. The parsed location is a reading aid, not verified scope. A turnover order whose cited component is not a friction surface says so.
Then choose how it will be resolved:
-
Contest, with the ground (building age, exemption, tenancy, XRF, paint-chip, surface condition, as the order allows). Each ground says what our data shows for this apartment — Looks open here, Looks ruled out here or Not known from our data — and why:
Ground What it checks Building age Year built (PLUTO): before 1960 rules it out. From 1960, whether DOB has a Certificate of Occupancy on record, which is the proof Exemption The apartment's lead-free or lead-safe exemption: granted, pending or denied Tenancy When the tenant moved in (the apartment's compliance record, else the client's rent roll) against Aug 2, 2004. For a 623 it shows the date to compare with the Record Production Order XRF XRF readings already on file for the apartment, and whether any were positive. Someone still matches them to the cited component Paint-chip, surface condition Nothing to check: a paint-chip needs a fresh lab result, and surface condition is the owner's own statement These are hints, not decisions: the ground is still proved to HPD with its documents.
-
Cure, with the certification option where the form has them (Option 3 abate, 4 XRF, 5 paint-chip).
-
Postpone, with the filing deadline shown.
-
Dismissal, when the order is overdue.
Each path shows the documents it requires. A path that is not available says why. An order blocked by another open order in the project's apartment, linked to the project or not (a 622 while a 617 is open, a 625 while a 624 is open) shows a red banner, and the options HPD's form bars are marked Barred with the reason and can't be chosen: a 622's negative-XRF option (4) while a 617 is open; a 625's options 4 and 5 and its paint-chip contest while a 624 is open; a 625's option 4 while a 617 is open. Choose a path with Choose this, or expand the path to pick a ground or option.
A recorded decision shows once at the top with its date. Change decision reopens the options; the new choice replaces the old one and the old one stays in the record. The per-order paths and documents come from the HPD rulebook.
A decision counts only while its path is still open: a cure until the violation is overdue, a contest or postponement if it was recorded by the filing deadline, a dismissal once overdue. When time closes the path (a cure recorded before the date passed), the order says No longer allowed. Decide again., shows what was recorded, offers the paths open now, and counts as undecided again everywhere. Only that violation goes back; the others keep their decisions.
The Numbers section shows how many orders are linked and how many are overdue, how many are still open at the agency, the nearest correct-by date and how many are blocked.
Decisions drive everything downstream: the tracks and visits on Field work, the proposal's services, and the required documents on Documents & filing. Until an order is decided, the project shows an estimate from the cheapest cure and says so. That estimate counts every open order in the project's apartment (or, for a building project, the building-wide ones), linked or not: a 622 with an open 617 in the same apartment is estimated as abatement, not XRF.
Under the orders, the Proposal prices the decided services, one folder tab per firm. See proposals and invoices.
Field work
Field work is built from the decided orders. Orders that resolve the same way are grouped into a track (for example "XRF Inspection, orders 616, 621"), and each track lists the visits it needs, with the fix-by date and an Overdue pill when it has passed. A track whose orders need different forms shows a Form conflict pill and offers no document to generate. The Next up card at the top names the one thing to do next and has the button for it.
Each visit moves through four steps in its drawer, which opens from a track row. The full flow is in field visits:
- Outreach — log each attempt to reach the tenant or management, and mark Access agreed or No access.
- Date and time — unlocked once access is agreed.
- Inspector — unlocked once a date is set; only people holding a current license for the service on that date are offered.
- Field work — the inspector runs the job (Open field job).
A visit that belongs to no current track appears under Other visits; it can be relinked to a track, kept as prior data, or cancelled. Visits are never deleted.
Documents & filing
Documents & filing collects the paperwork in one Documents panel: the compliance checklist of the documents each decided order still needs, where each row generates or fills its own document, then the project's Other files, with Add document for custom ones. See documents and filing.
Billing
Billing holds the project's Invoices and Vendor payments. See proposals and invoices. It is visible only with the permission to view financials.
End states
| State | What it means | How you get there |
|---|---|---|
| Closed | A label meaning commercially finished. Every control stays live. | … → Set phase, at any time |
| Cancelled | The job was abandoned | … → Set side state |
| On hold / Blocked | Paused, with the phase unchanged | … → Set side state |
Setting Closed does not wait for HPD to accept a filing and does not check documents, licenses, invoices or signatures. Agency acceptance is not recorded in Complied, so a project may stay Closed while HPD still shows the violation open.