KBA-01740: Using SOV to Bill Multiple Jobs/Projects


Can we bill two projects/jobs under one SOV?


Yes, however, there are several considerations. The standard out-of-the-box implementation of Spitfire is built for project-specific expenses and revenue tracking (one project means one budget and one “set” of SOV invoices). If you need to present your client with one SOV invoice that includes multiple projects, you have a few alternatives. It will take some thought and planning to decide which method works best for your company.

Alternative 1: Use One Project to Include All Projects

Your overall project would group the budget and SOV line items by Billing Codes or Cost Codes that include a segment for the sub-projects (child projects).

Billing Codes

If using Billing Codes, you would define a Billing Code for each sub-project. For example, PJT0 could be the base project, PJT1 could be the first sub-project, PJT2 could be the second sub-project etc. Then you would add the appropriate Billing Code to each Budget and SOV line item.

Cost Codes

If using Cost Codes, you would set your Cost Code FlexKey to include “project”. For example, 0-009000 could be Base Project – Painting and A-009000 could be sub-project A – Painting and B-009000 could be sub-project B – Painting, etc.

Alternative 2: Separate SOV Billing from Project Budgeting

You could use one project as the SOV Billing project and use other projects for the budgeting and day-to-day tracking of each project’s expenses. In this alternative, all of the revenue and billed-to-date transactions will post only on the SOV Billing project and all the expenses will post on the individual expense projects.


You could also, after billing, use your accounting system to move Revenue and Bill-To-Date from the SOV Billing project to each of the expense projects.


What About Parent – Child Projects in sfPMS?

We recommend that you make the SOV Billing project be the parent of the related sub or “spending” projects. This relationship can make dealing with Owner Change Orders easier. It also helps with some reporting requirements.

What About Programs?

You can put all the related projects into a program (on the Manage Dashboard) if you’d like. This makes using the Executive Dashboard and some reports easier.

What About WBS and Budget?

Do you think of your project budget as being exclusively cost related? If yes, then there may be no coordination required. If no, keep reading.

Some sites have a WBS structure that allows for creating a WBS for each project that does not overlap, perhaps using a phase segment (e.g., 01-15000 on Project A and 02-15000 on Project B, etc.) This is optional.

Important: If you are using Billing Codes, then you want to plan the Billing Codes so there is little to no overlap across child projects.  Particularly if using Billing Codes, you will want to combine the child budgets and import a master budget. You will clear all the EAC to zero. The purpose of the budget import on the Billing project is to help create the combined SOV.

Where Does the SOV Come From?

Some sites build their SOV from Commitment data, others from Billing Codes on a budget and, of course, others input data by hand.

Building an SOV from Commitment data does not work well for a multi-project scenario. You could use the feature on the child projects and then export and use the “Copy In” option on the combined billing project.

If you build the SOV manually, we recommend that the SOV have lines that track progress separately per project.

How Do You Decide Each Month’s Progress Billing Amounts?

Each time you generate an invoice, you typically state a percentage on each SOV line. This process is the same. In fact, if you base the progress billing percentage on expert communication from the PM, then that process is fundamentally unchanged.

As hinted above, if you have used Spitfire’s “suggest billing from budget” feature, you would have to create fake SOV on the child projects, export the data and use the “Copy In” feature on the Billing project. You would then cancel or delete the SOV on the child project because it has served its purpose.

You can see why having each project have independent lines on the combined SO makes this process much, much easier.

What About Owner Change Orders?

Owner Change Orders present perhaps the most involved challenge. They must be created and approved on the child projects. Yet, you need the revenue-only part to post on the parent SOV Billing project.

Some deal with this manually by linking two Owner Change Orders by SourceDocNo or ExternalDocNo. The one on the Billing project just has revenue and the one on the child project just has the expenses.

Others pursue using an extension that automatically creates the revenue CO on the Billing project when the Owner Change Order is approved on the child project. This is facilitated by having the parent-child relationship.


Another area that can require attention is numbering, specifically if you must have unique Owner Change Order numbers on the child projects, for example, OCO 1, 3 and 4 on Project A and OCO 2 and 5 on Project B. Many deal with this by using templates that prefix the OCO number with the child project instead, for example, A-1, A-2, A-3 and B-1, B-2, B-3, etc.

Advanced Cross Project Budgeting

Some sites move the “contingency” lines from the individual projects to the parent project. In this case, the change order process would “move” funds from the contingency into the specific project. This is still done with twin Change Orders. The two contingency lines net to zero across the pair.

A variation of this adds Project Savings. If a PM manages to come in under budget on some lines, budget revisions move the savings within his project rather than return them to the shared contingency.

What About Accounting?

The Bill-To-Date (BTD) and revenue will all be on the parent billing project. If seeing actual revenue on the child project is important, a project accounting transaction should be used to decrement the Billing project and send the actual revenue to the appropriate child projects. (You certainly do not want the actual revenue appearing on both; that would be confusing.)

What About Reporting?

The Executive Dashboard and project logs support programs and parent-child relationships and generate raw data that can be rolled-up. Support can help you with ways to present that data.

Additional Comments:

Support can assist and train you on

  • Billing Codes
  • SOV segregation
  • Bill from Budget and Copy-In
  • Automation of twin Owner Change Orders
  • Owner Change Order numbering requirements
  • Reporting

Keywords: Pay Application; Billing Project

KBA-01740; Last updated: August 3, 2018 at 13:03 pm