• Sign In
  • Pricing
  • Sign In
  • Instant Demo
  • Get Started Free
Products
  • HRMS

    Manage employees, track time, & more

  • Invoicing

    Turn time into invoices and deliver in bulk

  • Business Intelligence

    Compile your data into helpful reports

  • Performance Management

    Set goals and track your team

  • Employer of Record

    Built-in payroll outsourcing

Solutions
  • Contract

    Manage all of your contractors on assignment

  • Direct Hire

    Store direct hire starts, invoice, and create reports

  • Owners & Managers

    Performance management, easy-to-use reports

  • Pay & Bill Admins

    Integrated system streamlines your back-office

  • Individual Contributors

    Personal metrics reports, bullpen dashboards

Integrations
  • ActivateStaff logo
    ActivateStaff

    Candidate Engagement

  • Bullhorn logo
    Bullhorn

    Applicant Tracking System

  • JobAdder logo
    JobAdder

    Applicant Tracking System

  • Oorwin logo
    Oorwin

    Applicant Tracking System

  • PrismHR logo
    PrismHR

    Payrolling

  • SmartSearch logo
    SmartSearch

    Applicant Tracking System

  • Sage logo
    Sage

    Accounting | Coming soon!

  • StaffUpApp logo
    StaffUpApp

    Candidate Engagement

  • Top Echelon logo
    Top Echelon

    Applicant Tracking System

  • Quickbooks logo
    QuickBooks Online & Desktop

    Payrolling & Accounting

Resources
Support
  • The Bilflo Blog

    Helpful insights into back-office automation

  • Ebooks

    Dive deeper and improve your processes

  • Automate Your Back Office

    Watch the free webinar

  • Case Studies

    How companies increased cash flow & scaled

  • Press Releases

    Company and product updates

  • FAQ

    Frequently asked questions

  • Knowledge Base

    How-tos and other helpful info

    Contact Support

    Having problems? We can help you

    Contact Sales

    We'll answer all your questions

How to Use Purchase Orders

PostedSeptember 1, 2026
Last Updated OnSeptember 1, 2026
ByMichael Olson
You are here:
  • Main
  • Billing
  • How to Use Purchase Orders
← All Topics

A purchase order in Bilflo belongs to the client, not to the contractor. It is a record with a number, an optional expiration date, and an optional starting balance. You then attach it to one or more jobs (assignments), and every approved timecard on those jobs draws the balance down.

This means you do not have to wait for a new contractor to be added before you set up a PO. Create the purchase order on the client first. When the assignment is built, take one extra step and attach that job to the PO.

How the pieces fit together

There are four objects, in this order:

  1. Client. Owns the purchase order. One client can have many POs.
  2. Purchase order. Holds the number, expiration date, starting balance, and alert settings.
  3. Job. The contractor’s assignment. A job can carry more than one PO, and one of them is marked Primary.
  4. Approved timecard. Writes an entry in the PO journal and lowers the current balance.

If a field seems to be missing, it is usually because you are one level up or one level down from where it lives. In particular, the contractor profile has no PO field at all.

Step 1: Create the purchase order

Go to People › Clients, open the client, then Contract › POs. There is also a POs button on each row of the Clients list and on the client’s detail page, which is the faster route.

Click New Purchase Order and fill in the details.

FieldWhat it does
Purchase Order NumberRequired. The number your client issued. This is what appears on the PO list, on the journal, and on the invoice line if you use the PO tokens.
Expiration DateOptional. Drives the expiring alert. It does not block approvals after that date.
Starting BalanceOptional. The dollar amount the client authorized. Leave it blank for a PO that only needs a number carried onto invoices, with no dollar cap to track.
Current BalanceRead only. Bilflo maintains this as timecards are approved, so it cannot be edited directly.


Step 2: Set the alerts

In the Notification Settings box, set Days Before Expiring and Balance Falls Below, then use Add Team Members to choose who receives the email. Bilflo’s scheduled email run sends the alert to the people on that list.

Two things commonly trip people up here:

  • Days Before Expiring stays greyed out until an expiration date has been saved on the PO.
  • No alert is sent to anyone until at least one team member has been added to the list.

Step 3: Attach the jobs

In the Jobs Assigned box, click Add, search the client’s jobs, tick the ones this PO funds, and save. The table then shows the contractor, the job, the term date, and which job holds this PO as Primary.



If an assignment does not exist yet, it will not appear in that list. Build the job first, then come back and attach it.

Two ways to attach a job

Both routes produce the same result. Choose based on where you are starting from.

  • From the purchase order (best when one PO funds several people). Open the PO, then Jobs Assigned › Add. You can select many jobs at once, and the same screen gives you Transfer, Make Primary, and Remove.
  • From the job (best for a single new assignment). Open the contract job, find the PO Number section, click Add PO, pick the number from the client’s list, and click Add. Note that a PO added this way is automatically set as Primary on that job.

How the balance draws down

Approval is the trigger, not invoicing. When a timecard is approved on a job attached to a PO, Bilflo writes a journal entry against that PO and lowers the current balance. Un-approving the timecard removes the entry and restores the balance, so the ledger follows the timecard rather than the invoice.

Open the journal using View Journal on the PO detail page. Each line shows the date, contractor, job title, gross amount, percentage applied, net amount, and the running purchase order balance.

DateContractorJob titleGross amount% appliedNet amountPO balance
Starting Balance$50,000.00
8/10/2026A. ReyesSenior Analyst$3,600.00100%$3,600.00$46,400.00
8/17/2026A. ReyesSenior Analyst$3,600.0060%$2,160.00$44,240.00
8/17/2026Adjustment$1,000.00$1,000.00$45,240.00

In the example above, the third row is a split: 60 percent of that week landed on this PO and the remaining 40 percent on another. The fourth row is a manual adjustment.

Correcting the journal

These tools live on the journal page, except Transfer, which is on the PO detail page.

  • Split an entry. Open a journal row and assign two or more POs, each with a percentage. Use this when one week of work is funded from two purchase orders.
  • Add Adjustment. A dated, manual dollar entry. Because Current Balance is not editable, this is how you correct a balance, record an increase the client approved, or book something that never came through a timecard.
  • Recalculate. Replays entries from a chosen date forward using current values. Run it after you change rates or repair a split, so the running balance rebuilds cleanly.
  • Transfer. On the PO detail page, tick the jobs and click Transfer. You choose the destination PO, a “transfer timecards after this date” cut-off, and whether those jobs become Primary on the destination. This is the clean way to move a team onto a renewal PO mid-assignment.

Multiple POs and the Primary flag

One job can carry several purchase orders, and exactly one of them is marked Primary. Primary decides which number prints when an invoice uses the primary PO token, and the PO list shows a Primary count next to the total job count.

Because a PO added from the job page becomes Primary automatically, check the flag whenever you add a second PO to a job that already had one. To change it, open the PO detail page, tick the job under Jobs Assigned, and click Make Primary.

Getting the PO number onto an invoice

Tracking a PO and printing a PO are two separate settings. Attaching a PO to a job makes Bilflo track the balance. Getting the number to show on the invoice is configured on the invoice group, not in invoice settings.

On the invoice layout

Open the client’s invoice group under People › Clients › Contract › Invoice Groups and edit the invoice configuration. Purchase Order appears in the field list, so you can add it as its own column, or use it as a row grouping to break the invoice out by PO. This option is available to every company.

Inside a QuickBooks line description

If your company syncs invoices to QuickBooks Desktop or QuickBooks Online, you can also embed the number in the line item description text. This lives on the accounting integration rather than in invoice settings: open your QuickBooks accounting configuration and click Map Invoice Items.

  • {ponumber-primary} prints the job’s primary purchase order number.
  • {ponumber-non-primary} prints the job’s other purchase order numbers.

These tokens only affect invoices synced to QuickBooks. If your company does not use the QuickBooks integration, that page will not appear, and the invoice group column is the route to use.

Retiring a purchase order

  • Make Inactive. Keeps the record and its full journal history, and any jobs still attached stop drawing the balance down. This is the right choice for a spent, closed, or superseded PO.
  • Delete. Found in the Danger Zone on the PO detail page. Reserve this for a purchase order created by mistake. Anything with history should be made inactive instead.

Things to watch for

  • There is no PO field on a contractor profile. The purchase order lives on the client and links to the job, so always start from the client.
  • The balance moves when a timecard is approved, not when an invoice is sent, so a PO can read as consumed before the invoice goes out.
  • Expiration and Balance Falls Below are alerts, not gates. Neither one blocks an approval, and the balance can run past zero. The alerts are the control, so make sure someone is on the notification list.
  • Days Before Expiring will not accept a value until an expiration date has been saved on the PO.
  • Adding a PO from the job page makes it Primary without prompting. Verify the flag on any job that carries more than one PO.
  • Making a PO inactive stops the drawdown but leaves the jobs attached, so reactivating it resumes the drawdown on those same jobs.
  • Current Balance cannot be typed over. Correct it with Add Adjustment, or rebuild it with Recalculate.
Tags:
  • purchase order
Previous Setting Up Invoice-by-Project Time
Table of Contents

Features
  • HRMS
  • Invoicing
  • Business Intelligence
  • Performance Management
  • Employer of Record
Solutions
  • Contract
  • Direct Hire
  • Owners & Managers
  • Pay & Bill Admins
  • Individual Contributors
Integrations
  • Bullhorn
  • JobAdder
  • Oorwin
  • PrismHR
  • SmartSearch
  • Top Echelon
Resources
  • The Bilflo Blog
  • Ebooks
  • Webinar
  • Case Studies
  • FAQ
  • Knowledge Base
  • Developers
Company
  • Pricing
  • Contact
  • Releases
  • Terms & Privacy
  • Cookie Policy

© 2026 Bilflo