Every active job, every pending fee, every deadline — one screen. You command, the portal executes. Nothing moves without your tap.
–
B2B active jobs
–
B2B needs your tap
–
B2B fees open
–
B2B delivered
Coordinator pipeline — the live permit board.
–
Permits tracked
–
In flight
–
Action inbox open
–
Issued
Estimator Desk
The public bid-pricing tool at /estimate/ — estimators price permitting in 60 seconds and save bid projects to their desk. New estimator sign-ups land in the Coordinator action inbox (kind: estimator-desk) so adoption is visible.
The client-facing view at /seat/ — a client enters their work email and sees every project in one seat: money strip, a six-stage pipeline track per order, and their Estimator Desk bids, with won bids tied to the live order. Email lookup only, same trust model as tracking.
The standing AP packet at /vendor-packet/ — company facts, W-9 status, and the three payment tiers (ACH / check / online link). Packet status, draft prep, the Forms Fast Lane intake and the per-client vendor pipeline (payment method + Net terms) live in the Coordinator. Drafts only — nothing sends without Sal's tap.
Posted by the email watches when Philip or a city tech generates an invoice. Triage here: link the job, chase a missing payment link, mark paid. Nothing auto-sends.
Loading alerts…
Job board
Every B2B job in one place. Change the stage inline; click Manage for delivery drafts, OT pipeline, fees, and receipts.
Client
Job no
Address
Permit no
Lane
Stage
Fees
Amount paid
Receipts
Notes
Loading jobs…
Add job
Fields marked optional can be added later.
Job
Delivery composer
Draft-only. Build the Dropbox folder name, copy the email in Sal's voice, then tap send from your phone. Nothing auto-sends.
Dropbox folder name (per convention)
Create this folder in Dropbox, upload the approved plans + permit card + receipts, then grab its share link.
Paste the Dropbox share link where [paste Dropbox share link] sits, attach the receipts, then send. Edit the draft freely — it stays in Sal's voice.
OT pipeline
Off-hours inspection requests, tracked step by step. The notification email goes to [email protected] + [email protected] — draft only, never attach the form (it's on OpenGov).
Issuance phase complete. The next chapter is OT inspections — the client comes back to schedule them.
Add OT request
Fee ledger
Every dollar on the job: permit fees, OT fees, inspection fees. Status tracks the reimbursement trail — fronted → to-invoice → invoiced → reimbursed (or client-paid for guest-pay jobs). Nothing here charges anything.
Date
Type
Permit
Amount
Payer / method
Status
Log a fee payment
Guest-pay checklist
Guest-pay lane: client pays invoices directly as a guest on the OpenGov record. Add them as guest ASAP after approval — the invoice has nowhere to go until they're on the record.
Stakeholder notices
Draft-only heads-ups for the OpenGov rituals. Pick the moment, copy the draft or open it in email — nothing auto-sends.
Upload payment receipts. Use Copy bookkeeping link to send Gracious one clean link instead of screenshotting receipts in Gmail.
Links are generated per receipt. Copying the bookkeeping link resolves fresh URLs for every receipt on the job.
Permit files
Pull documents straight off the city portal, or push files up to it. If the portal blocks the automation, a manual fallback appears right here.
Files on this job
Loading…
Run history
Loading…
Runs execute on the file runner every ~5 minutes. Statuses: queued → running → done, partial, or blocked. Partial/blocked runs explain what was blocked and offer a manual fallback.
Sal-only page. Nothing on this page sends email or publishes anything — drafts are drafts until Sal taps send.
portal.permitspros.com