NewNetSuite 2026.1 — What's new
NetSuite

How to Create an Invoice for a Job in NetSuite (2026)

Step-by-step: how to invoice a job in NetSuite. Time-and-materials, fixed-fee, and milestone billing. Common errors and how to fix them.

··9 min read

How to create an invoice for a job in NetSuite

To create an invoice for a job in NetSuite, go to Transactions > Sales > Invoice Sales Orders > Project Invoicing (or open the Project record and click Bill). Select the project, choose the billing type (time-and-materials, fixed-fee, or charge-based), review the billable charges, and save the invoice. NetSuite will draw billable time entries, expense reports, and charges from the project, applying any negotiated rates from the customer or project record.

For a quick step-by-step, this is the canonical workflow. The exact path depends on which NetSuite project module you use (Projects, Advanced Projects, SuiteProjects/OpenAir) — covered below.


The 3 ways to invoice a job in NetSuite

Which path you use depends on your project setup:

Option 1: Bill directly from the Project record (most common)

This works for time-and-materials, fixed-fee, and charge-based projects when you use NetSuite's native Projects module.

  1. Open the project: Lists > Activities > Projects (or Transactions > Sales > Projects)
  2. Locate the project with billable charges
  3. Click the "Bill" button on the project header
  4. NetSuite opens an invoice draft with all billable items pre-populated
  5. Review the line items:
    • Time entries marked as billable
    • Expenses with the "billable" flag
    • Project milestones or fixed-fee charges
  6. Adjust if needed — remove lines, update rates, or change descriptions
  7. Verify the customer, billing address, and due date
  8. Save (or save and email/print to send to client)

Option 2: Use the Invoice Sales Orders > Project Invoicing flow (batch)

If you bill multiple projects at month-end, the batch interface is more efficient:

  1. Go to Transactions > Sales > Invoice Sales Orders > Project Invoicing
  2. Filter by customer, project status, or date range
  3. Select the projects to invoice (checkbox)
  4. Click "Create Invoices" — NetSuite generates one invoice per project (or one consolidated invoice per customer, depending on your setup)
  5. Review each generated invoice in batch

This is the standard workflow for services firms doing month-end billing across 20-100+ projects.

Option 3: From a charge record (for charge-based projects)

If your project uses Charge-Based Billing (a specific NetSuite project billing type), you create charges first and invoice them in a second step:

  1. Open the project and verify the billing type is "Charge-Based"
  2. Create charges: Lists > Accounting > Charges > New (or from the project sub-tab)
  3. Set the charge type (rate, fixed, expense, etc.)
  4. Run the charge process: Transactions > Sales > Bill Sales Order or use the Project Invoicing batch
  5. NetSuite consolidates charges into an invoice for the customer

Charge-based billing gives you fine-grained control over what gets invoiced when — useful for complex T&M arrangements, milestone-triggered fixed fees, or retainer drawdowns.


Setting up billable items on a project

Before you can invoice a job, billable items have to exist on the project. The common sources:

Billable time entries

  1. Time entries are created by team members via Activities > Track Time, or via Weekly Timesheets
  2. Each time entry must have Billable: True on the entry — otherwise it never appears on an invoice
  3. The service item on the time entry determines the billing rate. Either:
    • Use a generic service item with the project's default rate
    • Use role-specific service items (Senior Consultant, Junior Developer, etc.) with different rates
  4. Override rates at the project level if the customer negotiated different rates than your standard list

Billable expenses

  1. Expense reports with Billable: True checkbox on each line
  2. Markup percentage can be configured per customer or per project (e.g., 10% markup on travel costs)
  3. Receipts can be attached and optionally included as PDF on the customer invoice

Project milestones / fixed-fee charges

  1. Open the project record > Financial sub-tab
  2. Add a billing rule for the fixed fee (e.g., "30% on kickoff, 40% on midpoint, 30% on delivery")
  3. Set the milestone date or trigger (manual, date-based, or % completion-based)
  4. When the milestone is reached, NetSuite generates the charge automatically — ready to invoice

Common errors when creating a job invoice

After supporting dozens of services teams on NetSuite, these are the recurring issues:

"No billable items found for this project"

Causes:

  • Time entries weren't marked Billable
  • Expenses weren't flagged Billable
  • The project's billing type doesn't match the items (e.g., a Fixed-Fee project won't pull T&M time entries)
  • Billable items are dated outside the invoice date range you selected

Fix: open the project's Time and Expense sub-tabs. Filter for entries where Billable = False but should be True. Bulk-update with a mass update or saved search.

"Insufficient permissions" when clicking Bill

Cause: the user role doesn't have permission for the Invoice transaction type or for the project's customer.

Fix: ensure the role has at least View access to the customer record and Create access to Invoice transactions. For project managers, the typical permission set is Project Manager role plus Custom Invoice Permissions on assigned customers.

Invoice generates with wrong rates

Cause: the project's rate hierarchy isn't set up correctly. NetSuite uses this priority order:

  1. Charge-level rate (if charge-based)
  2. Project resource role override
  3. Project billing rate
  4. Customer billing rate
  5. Service item default rate

Fix: identify which level should determine the rate, and ensure it's populated. The most common mistake is leaving the project resource role rate blank and relying on the service item, which doesn't reflect the customer's negotiated rate.

Invoice misses billable items that should be there

Cause: time entries or expenses are in "Approval Pending" status, not "Approved." NetSuite only invoices approved billable items.

Fix: process the approval queue (Approvals > Approve Time Entries / Approve Expense Reports) before running the invoicing flow.

Project Invoicing flow shows no projects

Cause: project status is "Not Started" or "Closed," or there are no unbilled approved charges.

Fix: filter by project status = "In Progress" or "Pending Closure" on the Project Invoicing screen. Also check that the project has at least one unbilled approved time entry, expense, or charge.


Job invoicing in OpenAir (PSA) — different module

If your team uses NetSuite OpenAir (Professional Services Automation) instead of native Projects, the invoicing flow lives in OpenAir, not in NetSuite ERP. Quick differences:

  • OpenAir is a separate-module Oracle product specifically for services firms; invoicing happens in OpenAir, then syncs to NetSuite ERP as an invoice transaction
  • Native NetSuite Projects is built into the ERP and invoices directly into the same NetSuite account
  • SuiteProjects is a deprecated middle product; most accounts have either Projects or OpenAir, not SuiteProjects

For OpenAir-based job invoicing: go to Invoices > Generate Invoices, select projects, set the date range, and approve. The synced invoice appears in NetSuite ERP under Transactions > Sales > Invoices.


Common questions about NetSuite job invoicing

Frequently Asked Questions


When job invoicing breaks down at scale

For services firms billing 100+ projects per month, the standard NetSuite Projects module sometimes hits limits — complex rate hierarchies, multi-currency project billing, intricate revenue recognition, or unique customer billing rules. We help services teams refine their NetSuite project setup, build custom invoicing flows where needed, and integrate with revenue recognition modules. Contact our team if you're hitting friction with project billing at scale.

Related reading: NetSuite OpenAir PSA guide · NetSuite Advanced Financials guide · NetSuite customization guide

BrokenRubik

BrokenRubik

NetSuite Development Agency

Expert team specializing in NetSuite ERP, SuiteCommerce development, and enterprise integrations. Oracle NetSuite partner with 8+ years of experience delivering scalable solutions for mid-market and enterprise clients worldwide.

10+ years experienceOracle NetSuite Certified Partner +2
NetSuite ERPSuiteCommerce AdvancedSuiteScript 2.xNetSuite Integrations+4 more

Get in Touch