{
  "name": "Overbilling against payment terms",
  "url": "https://runoncfos.com/overbilling-and-45-day-terms",
  "published": "2026-10-17",
  "updated": "2026-10-17",
  "answer": "With 45 day payment terms, an overbilling of 6, 8 or 10 percent of contract value leaves any job shorter than 15 months behind the work done in cash.",
  "example": "On a $1,000,000 job that lasts 6 months, 45 days of unpaid billing is $250,000, or 25.00 percent of the contract. An overbilling of 10 percent is $100,000. Cash is $150,000 behind the work done, even though the WIP schedule reads overbilled.",
  "breakEven": "15 months. Overbilling covers the receivable only when the overbilling rate times the job length reaches the payment term in months, so 10 percent needs a job of 15 months or longer, and 6 percent needs 25 months, 8 percent needs 18.8 months and 10 percent needs 15 months at 45 day terms.",
  "overbillingDefinition": "Overbilling is the amount billed above the work done: billings in excess of earned revenue. This page states it as a percent of contract value.",
  "receivableDefinition": "The receivable is the billing you have sent and not yet collected. With an even billing pace it equals the last payment term of billing.",
  "model": "The model bills and earns evenly across the job, uses 30 day months, and counts the receivable as the last payment term of billing. Cash against the work done is the overbilling minus the receivable.",
  "scope": "Retainage isn't in these numbers. Every dollar of retainage held back adds to the receivable, so it makes the result worse. A pay app front loaded with mobilization or material can bill more than the even pace, and that's the one way a short job covers its payment term.",
  "contractValueUsd": 1000000,
  "license": "CC BY 4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "credit": "Run On CFOS. Overbilling against payment terms. 2026. Sulphur Prairie Operations, LLC. https://runoncfos.com/overbilling-and-45-day-terms. CC BY 4.0.",
  "rows": [
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 30,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -27.33,
      "cashPositionUsd": 273300
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 30,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -25.33,
      "cashPositionUsd": 253300
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 30,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -23.33,
      "cashPositionUsd": 233300
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 45,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 50,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -44,
      "cashPositionUsd": 440000
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 45,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 50,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -42,
      "cashPositionUsd": 420000
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 45,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 50,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -40,
      "cashPositionUsd": 400000
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 60,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 66.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -60.67,
      "cashPositionUsd": 606700
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 60,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 66.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -58.67,
      "cashPositionUsd": 586700
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 60,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 66.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -56.67,
      "cashPositionUsd": 566700
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 75,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 83.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -77.33,
      "cashPositionUsd": 773300
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 75,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 83.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -75.33,
      "cashPositionUsd": 753300
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 75,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 83.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -73.33,
      "cashPositionUsd": 733300
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 90,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 100,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -94,
      "cashPositionUsd": 940000
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 90,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 100,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -92,
      "cashPositionUsd": 920000
    },
    {
      "jobLengthMonths": 3,
      "paymentTermsDays": 90,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 100,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -90,
      "cashPositionUsd": 900000
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 30,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -10.67,
      "cashPositionUsd": 106700
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 30,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -8.67,
      "cashPositionUsd": 86700
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 30,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -6.67,
      "cashPositionUsd": 66700
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 45,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 25,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -19,
      "cashPositionUsd": 190000
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 45,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 25,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -17,
      "cashPositionUsd": 170000
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 45,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 25,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -15,
      "cashPositionUsd": 150000
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 60,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -27.33,
      "cashPositionUsd": 273300
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 60,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -25.33,
      "cashPositionUsd": 253300
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 60,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -23.33,
      "cashPositionUsd": 233300
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 75,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 41.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -35.67,
      "cashPositionUsd": 356700
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 75,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 41.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -33.67,
      "cashPositionUsd": 336700
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 75,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 41.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -31.67,
      "cashPositionUsd": 316700
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 90,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 50,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -44,
      "cashPositionUsd": 440000
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 90,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 50,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -42,
      "cashPositionUsd": 420000
    },
    {
      "jobLengthMonths": 6,
      "paymentTermsDays": 90,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 50,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -40,
      "cashPositionUsd": 400000
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 30,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 11.11,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -5.11,
      "cashPositionUsd": 51100
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 30,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 11.11,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -3.11,
      "cashPositionUsd": 31100
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 30,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 11.11,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -1.11,
      "cashPositionUsd": 11100
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 45,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -10.67,
      "cashPositionUsd": 106700
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 45,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -8.67,
      "cashPositionUsd": 86700
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 45,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -6.67,
      "cashPositionUsd": 66700
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 60,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 22.22,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -16.22,
      "cashPositionUsd": 162200
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 60,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 22.22,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -14.22,
      "cashPositionUsd": 142200
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 60,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 22.22,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -12.22,
      "cashPositionUsd": 122200
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 75,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 27.78,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -21.78,
      "cashPositionUsd": 217800
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 75,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 27.78,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -19.78,
      "cashPositionUsd": 197800
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 75,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 27.78,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -17.78,
      "cashPositionUsd": 177800
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 90,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -27.33,
      "cashPositionUsd": 273300
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 90,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -25.33,
      "cashPositionUsd": 253300
    },
    {
      "jobLengthMonths": 9,
      "paymentTermsDays": 90,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 33.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -23.33,
      "cashPositionUsd": 233300
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 30,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -2.33,
      "cashPositionUsd": 23300
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 30,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -0.33,
      "cashPositionUsd": 3300
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 30,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 1.67,
      "cashPositionUsd": 16700
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 45,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 12.5,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -6.5,
      "cashPositionUsd": 65000
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 45,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 12.5,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -4.5,
      "cashPositionUsd": 45000
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 45,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 12.5,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -2.5,
      "cashPositionUsd": 25000
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 60,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -10.67,
      "cashPositionUsd": 106700
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 60,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -8.67,
      "cashPositionUsd": 86700
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 60,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -6.67,
      "cashPositionUsd": 66700
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 75,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 20.83,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -14.83,
      "cashPositionUsd": 148300
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 75,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 20.83,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -12.83,
      "cashPositionUsd": 128300
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 75,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 20.83,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -10.83,
      "cashPositionUsd": 108300
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 90,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 25,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -19,
      "cashPositionUsd": 190000
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 90,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 25,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -17,
      "cashPositionUsd": 170000
    },
    {
      "jobLengthMonths": 12,
      "paymentTermsDays": 90,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 25,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -15,
      "cashPositionUsd": 150000
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 30,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 5.56,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 0.44,
      "cashPositionUsd": 4400
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 30,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 5.56,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 2.44,
      "cashPositionUsd": 24400
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 30,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 5.56,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 4.44,
      "cashPositionUsd": 44400
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 45,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -2.33,
      "cashPositionUsd": 23300
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 45,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -0.33,
      "cashPositionUsd": 3300
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 45,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 1.67,
      "cashPositionUsd": 16700
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 60,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 11.11,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -5.11,
      "cashPositionUsd": 51100
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 60,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 11.11,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -3.11,
      "cashPositionUsd": 31100
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 60,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 11.11,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -1.11,
      "cashPositionUsd": 11100
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 75,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 13.89,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -7.89,
      "cashPositionUsd": 78900
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 75,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 13.89,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -5.89,
      "cashPositionUsd": 58900
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 75,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 13.89,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -3.89,
      "cashPositionUsd": 38900
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 90,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -10.67,
      "cashPositionUsd": 106700
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 90,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -8.67,
      "cashPositionUsd": 86700
    },
    {
      "jobLengthMonths": 18,
      "paymentTermsDays": 90,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 16.67,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -6.67,
      "cashPositionUsd": 66700
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 30,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 4.17,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 1.83,
      "cashPositionUsd": 18300
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 30,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 4.17,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 3.83,
      "cashPositionUsd": 38300
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 30,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 4.17,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 5.83,
      "cashPositionUsd": 58300
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 45,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 6.25,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -0.25,
      "cashPositionUsd": 2500
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 45,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 6.25,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 1.75,
      "cashPositionUsd": 17500
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 45,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 6.25,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 3.75,
      "cashPositionUsd": 37500
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 60,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -2.33,
      "cashPositionUsd": 23300
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 60,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -0.33,
      "cashPositionUsd": 3300
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 60,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 8.33,
      "cashPosition": "ahead",
      "cashPositionPercentOfContract": 1.67,
      "cashPositionUsd": 16700
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 75,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 10.42,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -4.42,
      "cashPositionUsd": 44200
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 75,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 10.42,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -2.42,
      "cashPositionUsd": 24200
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 75,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 10.42,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -0.42,
      "cashPositionUsd": 4200
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 90,
      "overbillingPercent": 6,
      "unpaidBillingPercentOfContract": 12.5,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -6.5,
      "cashPositionUsd": 65000
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 90,
      "overbillingPercent": 8,
      "unpaidBillingPercentOfContract": 12.5,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -4.5,
      "cashPositionUsd": 45000
    },
    {
      "jobLengthMonths": 24,
      "paymentTermsDays": 90,
      "overbillingPercent": 10,
      "unpaidBillingPercentOfContract": 12.5,
      "cashPosition": "behind",
      "cashPositionPercentOfContract": -2.5,
      "cashPositionUsd": 25000
    }
  ]
}