How It Works (Step by Step)
This page walks through one full month of billing for a single project, from the cycle's creation on the 1st through final submission. The steps below describe exactly what the system does and what action is on you.
If you want the big picture first, see Overview.
Step 1 — On the 1st of each month: a new cycle appears
What triggers it:
- The 1st of every month, at 6:00 AM, automatically.
What happens:
- For every active project (one that has a Billing Date filled in and isn't billing-complete), the system creates one Billing Cycle item in the Billing Cycles app.
- Each new cycle is pre-filled with:
- Linked Project (this project)
- Billing Month (e.g.,
2026-05) - Computed Billing Date (your project's Billing Date, shifted to the prior Friday if it lands on a weekend)
- T-5 Prompt Date and T-1 Prompt Date (calculated)
- Status = Pending Draft
- Accountant and Project Manager (copied from the Project)
What you do:
- Nothing yet. Sit tight; the next prompt comes 5 business days before billing.
Each month's billing gets its own record so the audit trail, comments, timestamps, and status live separately for each cycle. The Project page shows all of a project's cycles under Linked Billing Cycles.
A Billing Cycle item right after creation, showing the auto-populated fields (Linked Project, Billing Month, Computed Billing Date, Status = Pending Draft). Save to static/img/billing/01-cycle-created.png.
Step 2 — 5 business days before billing: Accountant gets prompted
What triggers it:
- The morning of T-5 (5 business days before the Computed Billing Date), at 7:15 AM.
What happens:
- The Accountant gets a Podio task: "Send [Billing Month] billing draft to PM - [Job #] [Job Name]" with Due Date = T-5.
- A comment is posted on the Billing Cycle @-mentioning the Accountant.
What the Accountant does:
- Open the Billing Cycle (link is on the task).
- Prepare the billing draft for that month.
- Send the draft to the Project Manager (however your team normally hands it off — email, Teams, etc.).
- Manually change Status from "Pending Draft" to "Draft Sent." This is the trigger for the next step.
If you finish the draft before T-5, you can flip Status to "Draft Sent" any time. The PM gets pinged the moment you do — they won't sit waiting until "1 day before."
Step 3 — As soon as Status flips to "Draft Sent": PM gets prompted
What triggers it:
- The instant the Accountant changes Status from anything → Draft Sent.
What happens:
- The system stamps Draft Sent Timestamp with the current date and time.
- A comment is posted on the Billing Cycle @-mentioning the Project Manager.
- A Podio task is created for the PM: "Return marked-up [Billing Month] draft to Accountant - [Job #] [Job Name]" with Due Date = T-1 Prompt Date (1 business day before billing).
- A second, non-@-mentioned audit comment is posted on the Linked Project page: "Billing draft for [Billing Month] sent to PM. PM review due [date]; billing due [date]."
What the Project Manager does:
- Open the Billing Cycle (link is on the task).
- Review and mark up the draft.
- Return the marked-up copy to the Accountant.
- Manually change Status from "Draft Sent" to "PM Reviewed." This is the trigger for the next step.
Step 3 is not "1 business day before billing." It fires the moment the Accountant flips to Draft Sent — even if that's 4 days early. The T-1 date just sets the task's due date so the PM knows the deadline.
Step 4 — As soon as Status flips to "PM Reviewed": Accountant gets prompted to submit
What triggers it:
- The instant the PM changes Status from anything → PM Reviewed.
What happens:
- The system stamps PM Reviewed Timestamp.
- A comment is posted on the Billing Cycle @-mentioning the Accountant: "Please submit [Billing Month] billing for [Job #] - [Job Name] today and manually update Status to 'Submitted'."
- A Podio task is created for the Accountant: "SUBMIT [Billing Month] billing - [Job #] [Job Name]" with Due Date = Computed Billing Date.
- A second, non-@-mentioned audit comment is posted on the Linked Project: "[Billing Month] billing draft returned to Accountant after PM review. Submission due [date]."
What the Accountant does:
- Open the Billing Cycle (link is on the task).
- Submit the billing (in QuickBooks or wherever you actually submit).
- Manually change Status from "PM Reviewed" to "Submitted."
Like Step 3, this fires on the status change — not on the billing date. If the PM finishes review early, you get pinged early. The task's due date is set to the actual billing date so you know the deadline.
Step 5 — When Status flips to "Submitted": cycle is done
What triggers it:
- The instant the Accountant changes Status from anything → Submitted.
What happens:
- The system stamps Submitted Timestamp.
- The cycle drops off the Active Billing Cycles view.
- It will appear in next month's first-of-the-month digest email as part of the previous month's summary.
If this was the final retainage billing (Final Retainage Billing? = Yes):
- The Project's Billing Cycles Complete flag is flipped to Yes.
- An audit comment is posted on both the Billing Cycle and the Linked Project: "Final retainage billing submitted on [date]. No further billing cycles will be auto-created for this project."
- The next time the 1st-of-month cycle creator runs, this project is skipped.
See Final Retainage & Stopping a Project for how to mark a cycle as the final retainage billing.
What if I do things out of order?
Status can move backward too — for example, if the PM finds an issue and bumps Status from "Draft Sent" back to "Pending Draft." Here's what happens:
- Going backward (e.g., Draft Sent → Pending Draft): No new prompt fires. The previous prompts you got still apply.
- Going forward again (Pending Draft → Draft Sent a second time): The PM gets pinged again. Each transition into "Draft Sent" is a separate trigger, so the PM will see a new comment, a new task, and a new Project audit comment. This is intentional — if you genuinely had to redo the draft, the PM should know to look again.
Summary table
| Step | When | Who acts | What they do |
|---|---|---|---|
| 1 | 1st of month | System | Creates Billing Cycle item |
| 2 | T-5 business days | Accountant | Send draft → flip Status to "Draft Sent" |
| 3 | The moment Status = Draft Sent | Project Manager | Mark up draft → flip Status to "PM Reviewed" |
| 4 | The moment Status = PM Reviewed | Accountant | Submit billing → flip Status to "Submitted" |
| 5 | The moment Status = Submitted | System | Stamps timestamp; if Final Retainage, flags project complete |
Related
- Setting Up a New Project for Billing — What the PM needs to fill in
- Dashboard & Monthly Digest — Where to see everything
- Final Retainage & Stopping a Project
- Troubleshooting