Prorated Invoice Adjustments

Overview

Prorated adjustments are defined at the invoice level, but are applied to invoiceLines. A generic example is that you have a shipping fee that you want to to spread out across all of the invoice lines so that all funds involved pay some portion of the fee.

Distributions

There are three different ways to distribute prorated adjustments:

  • By line - distribute the adjustment evenly across all invoice lines
  • By amount - distribute the adjustment proportionate to the invoice line amounts
  • By quantity - distribute the adjustment proportionate to the invoice line quantities

The prorate field specifies how the adjustment should be distributed.  The adjustment type (Amount/Percent)  also plays a part, but we'll get into that part later.

Example

Given the following prorated adjustments:

"adjustments":[  
   {  
      "id":"14263aab-b22b-4ddc-9ecc-3434427c2c8f",
      "label":"Service Fee",
      "type":"Amount",
      "value":10,
      "prorate":"By line"
   },
   {  
      "id":"1c1d7297-bdf7-4a75-acaa-1cca8cb1a5c3",
      "label":"Shipping",
      "type":"Amount",
      "value":10,
      "prorate":"By amount"
   },
   {  
      "id":"dfb6aa6b-8f18-48a0-8428-2c17194fcf48",
      "label":"Convenience Charge",
      "type":"Amount",
      "value":10,
      "prorate":"By quantity"
   }
]


They'd be split among the following 2 (abbreviated) invoiceLines:

{  
   "invoiceLineNumber":"E10001",
   "subTotal":75.0,
   "quantity": 6,
   "adjustments":[  
      {  
         "adjustmentId":"14263aab-b22b-4ddc-9ecc-3434427c2c8f",
         "label":"Service Fee",
         "type":"Amount",
         "value":5,
         "prorate":"By line"
      },
      {  
         "adjustmentId":"1c1d7297-bdf7-4a75-acaa-1cca8cb1a5c3",
         "label":"Shipping",
         "type":"Amount",
         "value":7.5,
         "prorate":"By amount"
      },
      {  
         "id":"dfb6aa6b-8f18-48a0-8428-2c17194fcf48",
         "label":"Convenience Charge",
         "type":"Amount",
         "value":6,
         "prorate":"By quantity"
      }
   ],
   "total":93.5
}
------------------
{
   "invoiceLineNumber":"E10002",
   "subTotal":25.0,
   "quantity": 4,
   "adjustments":[
      {
         "adjustmentId":"14263aab-b22b-4ddc-9ecc-3434427c2c8f",
         "label":"Service Fee",
         "type":"Amount",
         "value":5,
         "prorate":"By line"
      },
      {
         "adjustmentId":"1c1d7297-bdf7-4a75-acaa-1cca8cb1a5c3",
         "label":"Shipping",
         "type":"Amount",
         "value":2.5,
         "prorate":"By amount"
      },
      {  
         "id":"dfb6aa6b-8f18-48a0-8428-2c17194fcf48",
         "label":"Convenience Charge",
         "type":"Amount",
         "value":4,
         "prorate":"By quantity"
      }
   ],
   "total":36.5
}


The first adjustment is prorated "By lines", so both invoiceLines get 1/2 of the amount; $5 in this example.
The second adjustment is prorated "By amount", so each invoiceLine gets an portion of the amount proportionate to the invoiceLine's contribution to the invoice subTotal.

  • In this example invoiceLine E10001 constitutes 75% of the invoice subTotal, so it gets 75% of the second prorated adjustment ($7.50). InvoiceLine E10002 constitutes the remaining 25% of the invoice subTotal, so it gets 25% of the second prorated adjustment ($2.50).
  • adjustment[0].subTotal / sum(adjustments[].subTotal) * adjustmentAmount = 75/100 * 10 = 7.50
  • adjustment[1].subTotal / sum(adjustments[].subTotal) * adjustmentAmount = 25/100 * 10 = 2.50
    The third adjustment is prorated "By quantity", this works in a similar fashion as "By amount", only instead of being proportionate to the invoiceLine subTotal, the invoiceLine's quantity is used.
  • In this example invoiceLine E10001 constitutes 60% of the invoice subTotal, so it gets 60% of the second prorated adjustment ($6). InvoiceLine E10002 constitutes the remaining 40% of the invoice subTotal, so it gets 40% of the second prorated adjustment ($4).
  • adjustment[0].quantity / sum(adjustments[].quantity) * adjustmentAmount = 6/10 * 10 = 6
  • adjustment[1].quantity / sum(adjustments[].quantity) * adjustmentAmount = 4/10 * 10 = 4

Prorating Percentage Adjustments

When dealing with prorated adjustments which are percentages, we calculate the effective amount by applying the percentage to the invoice sub-total and then prorate that amount like any other amount-based prorated adjustment.  Given this approach, prorating percentage adjustments by quantity is now possible, whereas it was previously considered not applicable.

Fractional Pennies

When working with prorated adjustments, we need to make sure that the sum of the invoiceLine adjustments is equal to the prorated adjustment for which they represent.  This means special handling of adjustments of amounts/percentages which don't distribute evenly.  

Example

Given the following invoice adjustment:

{  
  "id":"14263aab-b22b-4ddc-9ecc-3434427c2c8f",
  "label":"Service Fee",
  "type":"Amount",
  "value":10,
  "prorate":"By line"
}

Assuming we have 3 invoice lines, we'd calculate the invoiceLine adjustments as 10/3 = 3.33333333.  If you're using half-even (bankers) rounding you wind up with: $3.33, $3.33, $3.33 = $9.99 which doesn't equal the prorated amount ($10.00).  In other words we lost a penny. 

Single Extra "Penny"

This is the simplest form of the problem.  All we have to do is attribute the penny to the last invoice line. e.g. $10.00 => $3.33, $3.33, $3.34 

Multiple Extra "Pennies"

It's not always just a single penny, but could be several, if we change the prorated adjustment amount in the above example to 10.01 we're now missing 2 pennies!  In this case we need to prorate the extra amount across the invoice lines by attributing one penny per line starting from the last line.  

Example:

prorating by:	quantity
subTotal:	USD 60
quantity:	13
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.76
line #1:	sub: USD 20	qty: 10  	adj: USD 7.69
line #2:	sub: USD 30	qty: 2  	adj: USD 1.53
sum:     	USD 9.98
expected:	USD 10
extra pennies:	USD 0.02
line #0:	sub: USD 10	qty: 1  	adj: USD 0.76
line #1:	sub: USD 20	qty: 10  	adj: USD 7.7
line #2:	sub: USD 30	qty: 2  	adj: USD 1.54
sum:     	USD 10
expected:	USD 10

Rounding

Rounding plays an important role in these calculations.  Care must be taken to use the appropriate rounding strategy throughout the process.

  • When calculating the adjustment value to be prorated (which the sum of the invoice line adjustments should equal), use half-even or "bankers" rounding.  This is the default rounding strategy of the JavaMoney API.
  • When prorating adjustments across invoice lines you should round down by default.  This will prevent you from attributing too much money to the invoice lines.  
  • Depending on the algorithm you're using, it may also be helpful to round up in some cases (the POC code below uses this when prorating by lines).

POC code demonstrating these calculations:  ProratedAdjustmentsPOC.java  NOTE this code is intended to be illustrative.  It has not been refined or optimized and probably does not meet the quality standards of our production code.

Partial (USD) Output from running the POC linked to above: 

prorating by:	lines
no rounding:	USD 299.997
w/ rounding:	USD 300
subTotal:	USD 30
quantity:	11
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 150
line #1:	sub: USD 20	qty: 10  	adj: USD 150
sum:     	USD 300
expected:	USD 300

prorating by:	amount
no rounding:	USD 2.99997
w/ rounding:	USD 3
subTotal:	USD 30
quantity:	11
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
sum:     	USD 2.98
expected:	USD 3
extra pennies:	USD 0.02
subTotal:	USD 30
quantity:	11
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1
line #1:	sub: USD 20	qty: 10  	adj: USD 2
sum:     	USD 3
expected:	USD 3

prorating by:	lines
no rounding:	USD 285
w/ rounding:	USD 285
subTotal:	USD 30
quantity:	11
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 142.5
line #1:	sub: USD 20	qty: 10  	adj: USD 142.5
sum:     	USD 285
expected:	USD 285

prorating by:	amount
no rounding:	USD 2.85
w/ rounding:	USD 2.85
subTotal:	USD 30
quantity:	11
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
sum:     	USD 2.85
expected:	USD 2.85

prorating by:	lines
no rounding:	USD 298.5
w/ rounding:	USD 298.5
subTotal:	USD 30
quantity:	11
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 149.25
line #1:	sub: USD 20	qty: 10  	adj: USD 149.25
sum:     	USD 298.5
expected:	USD 298.5

prorating by:	amount
no rounding:	USD 2.9849999999999997
w/ rounding:	USD 2.98
subTotal:	USD 30
quantity:	11
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
sum:     	USD 2.97
expected:	USD 2.98
extra pennies:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
sum:     	USD 2.98
expected:	USD 2.98

prorating by:	lines
no rounding:	USD 287.85
w/ rounding:	USD 287.85
subTotal:	USD 30
quantity:	11
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 143.92
line #1:	sub: USD 20	qty: 10  	adj: USD 143.93
sum:     	USD 287.85
expected:	USD 287.85

prorating by:	amount
no rounding:	USD 2.8785000000000003
w/ rounding:	USD 2.88
subTotal:	USD 30
quantity:	11
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.91
sum:     	USD 2.86
expected:	USD 2.88
extra pennies:	USD 0.02
subTotal:	USD 30
quantity:	11
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.96
line #1:	sub: USD 20	qty: 10  	adj: USD 1.92
sum:     	USD 2.88
expected:	USD 2.88

prorating by:	lines
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 30
quantity:	11
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 5
line #1:	sub: USD 20	qty: 10  	adj: USD 5
sum:     	USD 10
expected:	USD 10

prorating by:	amount
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 30
quantity:	11
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 3.33
line #1:	sub: USD 20	qty: 10  	adj: USD 6.66
sum:     	USD 9.99
expected:	USD 10
extra pennies:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 3.33
line #1:	sub: USD 20	qty: 10  	adj: USD 6.67
sum:     	USD 10
expected:	USD 10

prorating by:	quantity
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 30
quantity:	11
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.9
line #1:	sub: USD 20	qty: 10  	adj: USD 9.09
sum:     	USD 9.99
expected:	USD 10
extra pennies:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.9
line #1:	sub: USD 20	qty: 10  	adj: USD 9.1
sum:     	USD 10
expected:	USD 10

prorating by:	lines
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 30
quantity:	11
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 4.99
line #1:	sub: USD 20	qty: 10  	adj: USD 4.99
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	amount
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 30
quantity:	11
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 3.32
line #1:	sub: USD 20	qty: 10  	adj: USD 6.65
sum:     	USD 9.97
expected:	USD 9.98
extra pennies:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 3.32
line #1:	sub: USD 20	qty: 10  	adj: USD 6.66
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	quantity
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 30
quantity:	11
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.9
line #1:	sub: USD 20	qty: 10  	adj: USD 9.07
sum:     	USD 9.97
expected:	USD 9.98
extra pennies:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.9
line #1:	sub: USD 20	qty: 10  	adj: USD 9.08
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	lines
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 30
quantity:	11
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.66
line #1:	sub: USD 20	qty: 10  	adj: USD 1.67
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	amount
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 30
quantity:	11
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.1
line #1:	sub: USD 20	qty: 10  	adj: USD 2.21
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 30
quantity:	11
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.11
line #1:	sub: USD 20	qty: 10  	adj: USD 2.22
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	quantity
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 30
quantity:	11
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.3
line #1:	sub: USD 20	qty: 10  	adj: USD 3.02
sum:     	USD 3.32
expected:	USD 3.33
extra pennies:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.3
line #1:	sub: USD 20	qty: 10  	adj: USD 3.03
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	lines
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	amount
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	quantity
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 30
quantity:	11
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	lines
no rounding:	USD 599.994
w/ rounding:	USD 599.99
subTotal:	USD 60
quantity:	13
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 199.99
line #1:	sub: USD 20	qty: 10  	adj: USD 200
line #2:	sub: USD 30	qty: 2  	adj: USD 200
sum:     	USD 599.99
expected:	USD 599.99

prorating by:	amount
no rounding:	USD 5.99994
w/ rounding:	USD 6
subTotal:	USD 60
quantity:	13
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
sum:     	USD 5.97
expected:	USD 6
extra pennies:	USD 0.03
subTotal:	USD 60
quantity:	13
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1
line #1:	sub: USD 20	qty: 10  	adj: USD 2
line #2:	sub: USD 30	qty: 2  	adj: USD 3
sum:     	USD 6
expected:	USD 6

prorating by:	lines
no rounding:	USD 570
w/ rounding:	USD 570
subTotal:	USD 60
quantity:	13
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 190
line #1:	sub: USD 20	qty: 10  	adj: USD 190
line #2:	sub: USD 30	qty: 2  	adj: USD 190
sum:     	USD 570
expected:	USD 570

prorating by:	amount
no rounding:	USD 5.7
w/ rounding:	USD 5.7
subTotal:	USD 60
quantity:	13
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
sum:     	USD 5.7
expected:	USD 5.7

prorating by:	lines
no rounding:	USD 597
w/ rounding:	USD 597
subTotal:	USD 60
quantity:	13
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 199
line #1:	sub: USD 20	qty: 10  	adj: USD 199
line #2:	sub: USD 30	qty: 2  	adj: USD 199
sum:     	USD 597
expected:	USD 597

prorating by:	amount
no rounding:	USD 5.9699999999999994
w/ rounding:	USD 5.97
subTotal:	USD 60
quantity:	13
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
sum:     	USD 5.95
expected:	USD 5.97
extra pennies:	USD 0.02
subTotal:	USD 60
quantity:	13
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
sum:     	USD 5.97
expected:	USD 5.97

prorating by:	lines
no rounding:	USD 575.7
w/ rounding:	USD 575.7
subTotal:	USD 60
quantity:	13
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 191.9
line #1:	sub: USD 20	qty: 10  	adj: USD 191.9
line #2:	sub: USD 30	qty: 2  	adj: USD 191.9
sum:     	USD 575.7
expected:	USD 575.7

prorating by:	amount
no rounding:	USD 5.7570000000000006
w/ rounding:	USD 5.76
subTotal:	USD 60
quantity:	13
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.91
line #2:	sub: USD 30	qty: 2  	adj: USD 2.87
sum:     	USD 5.73
expected:	USD 5.76
extra pennies:	USD 0.03
subTotal:	USD 60
quantity:	13
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.96
line #1:	sub: USD 20	qty: 10  	adj: USD 1.92
line #2:	sub: USD 30	qty: 2  	adj: USD 2.88
sum:     	USD 5.76
expected:	USD 5.76

prorating by:	lines
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 60
quantity:	13
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 3.33
line #1:	sub: USD 20	qty: 10  	adj: USD 3.33
line #2:	sub: USD 30	qty: 2  	adj: USD 3.34
sum:     	USD 10
expected:	USD 10

prorating by:	amount
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 60
quantity:	13
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.66
line #1:	sub: USD 20	qty: 10  	adj: USD 3.33
line #2:	sub: USD 30	qty: 2  	adj: USD 5
sum:     	USD 9.99
expected:	USD 10
extra pennies:	USD 0.01
subTotal:	USD 60
quantity:	13
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.66
line #1:	sub: USD 20	qty: 10  	adj: USD 3.33
line #2:	sub: USD 30	qty: 2  	adj: USD 5.01
sum:     	USD 10
expected:	USD 10

prorating by:	quantity
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 60
quantity:	13
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.76
line #1:	sub: USD 20	qty: 10  	adj: USD 7.69
line #2:	sub: USD 30	qty: 2  	adj: USD 1.53
sum:     	USD 9.98
expected:	USD 10
extra pennies:	USD 0.02
subTotal:	USD 60
quantity:	13
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.76
line #1:	sub: USD 20	qty: 10  	adj: USD 7.7
line #2:	sub: USD 30	qty: 2  	adj: USD 1.54
sum:     	USD 10
expected:	USD 10

prorating by:	lines
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 60
quantity:	13
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 3.32
line #1:	sub: USD 20	qty: 10  	adj: USD 3.33
line #2:	sub: USD 30	qty: 2  	adj: USD 3.33
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	amount
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 60
quantity:	13
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.66
line #1:	sub: USD 20	qty: 10  	adj: USD 3.32
line #2:	sub: USD 30	qty: 2  	adj: USD 4.99
sum:     	USD 9.97
expected:	USD 9.98
extra pennies:	USD 0.01
subTotal:	USD 60
quantity:	13
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.66
line #1:	sub: USD 20	qty: 10  	adj: USD 3.32
line #2:	sub: USD 30	qty: 2  	adj: USD 5
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	quantity
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 60
quantity:	13
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.76
line #1:	sub: USD 20	qty: 10  	adj: USD 7.67
line #2:	sub: USD 30	qty: 2  	adj: USD 1.53
sum:     	USD 9.96
expected:	USD 9.98
extra pennies:	USD 0.02
subTotal:	USD 60
quantity:	13
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.76
line #1:	sub: USD 20	qty: 10  	adj: USD 7.68
line #2:	sub: USD 30	qty: 2  	adj: USD 1.54
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	lines
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 60
quantity:	13
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.11
line #1:	sub: USD 20	qty: 10  	adj: USD 1.11
line #2:	sub: USD 30	qty: 2  	adj: USD 1.11
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	amount
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 60
quantity:	13
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.55
line #1:	sub: USD 20	qty: 10  	adj: USD 1.1
line #2:	sub: USD 30	qty: 2  	adj: USD 1.66
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 60
quantity:	13
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.55
line #1:	sub: USD 20	qty: 10  	adj: USD 1.11
line #2:	sub: USD 30	qty: 2  	adj: USD 1.67
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	quantity
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 60
quantity:	13
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.25
line #1:	sub: USD 20	qty: 10  	adj: USD 2.56
line #2:	sub: USD 30	qty: 2  	adj: USD 0.51
sum:     	USD 3.32
expected:	USD 3.33
extra pennies:	USD 0.01
subTotal:	USD 60
quantity:	13
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.25
line #1:	sub: USD 20	qty: 10  	adj: USD 2.56
line #2:	sub: USD 30	qty: 2  	adj: USD 0.52
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	lines
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 60
quantity:	13
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	amount
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 60
quantity:	13
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 60
quantity:	13
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	quantity
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 60
quantity:	13
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 60
quantity:	13
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	lines
no rounding:	USD 649.9935
w/ rounding:	USD 649.99
subTotal:	USD 65
quantity:	33
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 162.49
line #1:	sub: USD 20	qty: 10  	adj: USD 162.5
line #2:	sub: USD 30	qty: 2  	adj: USD 162.5
line #3:	sub: USD 5	qty: 20  	adj: USD 162.5
sum:     	USD 649.99
expected:	USD 649.99

prorating by:	amount
no rounding:	USD 6.499935
w/ rounding:	USD 6.5
subTotal:	USD 65
quantity:	33
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
sum:     	USD 6.46
expected:	USD 6.5
extra pennies:	USD 0.04
subTotal:	USD 65
quantity:	33
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1
line #1:	sub: USD 20	qty: 10  	adj: USD 2
line #2:	sub: USD 30	qty: 2  	adj: USD 3
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
sum:     	USD 6.5
expected:	USD 6.5

prorating by:	lines
no rounding:	USD 617.5
w/ rounding:	USD 617.5
subTotal:	USD 65
quantity:	33
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 154.37
line #1:	sub: USD 20	qty: 10  	adj: USD 154.37
line #2:	sub: USD 30	qty: 2  	adj: USD 154.38
line #3:	sub: USD 5	qty: 20  	adj: USD 154.38
sum:     	USD 617.5
expected:	USD 617.5

prorating by:	amount
no rounding:	USD 6.175
w/ rounding:	USD 6.18
subTotal:	USD 65
quantity:	33
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
sum:     	USD 6.17
expected:	USD 6.18
extra pennies:	USD 0.01
subTotal:	USD 65
quantity:	33
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.48
sum:     	USD 6.18
expected:	USD 6.18

prorating by:	lines
no rounding:	USD 646.75
w/ rounding:	USD 646.75
subTotal:	USD 65
quantity:	33
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 161.68
line #1:	sub: USD 20	qty: 10  	adj: USD 161.69
line #2:	sub: USD 30	qty: 2  	adj: USD 161.69
line #3:	sub: USD 5	qty: 20  	adj: USD 161.69
sum:     	USD 646.75
expected:	USD 646.75

prorating by:	amount
no rounding:	USD 6.46749999999999935
w/ rounding:	USD 6.47
subTotal:	USD 65
quantity:	33
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
sum:     	USD 6.44
expected:	USD 6.47
extra pennies:	USD 0.03
subTotal:	USD 65
quantity:	33
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
sum:     	USD 6.47
expected:	USD 6.47

prorating by:	lines
no rounding:	USD 623.675
w/ rounding:	USD 623.68
subTotal:	USD 65
quantity:	33
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 155.92
line #1:	sub: USD 20	qty: 10  	adj: USD 155.92
line #2:	sub: USD 30	qty: 2  	adj: USD 155.92
line #3:	sub: USD 5	qty: 20  	adj: USD 155.92
sum:     	USD 623.68
expected:	USD 623.68

prorating by:	amount
no rounding:	USD 6.23675000000000065
w/ rounding:	USD 6.24
subTotal:	USD 65
quantity:	33
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.91
line #2:	sub: USD 30	qty: 2  	adj: USD 2.87
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
sum:     	USD 6.2
expected:	USD 6.24
extra pennies:	USD 0.04
subTotal:	USD 65
quantity:	33
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.96
line #1:	sub: USD 20	qty: 10  	adj: USD 1.92
line #2:	sub: USD 30	qty: 2  	adj: USD 2.88
line #3:	sub: USD 5	qty: 20  	adj: USD 0.48
sum:     	USD 6.24
expected:	USD 6.24

prorating by:	lines
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 65
quantity:	33
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 2.5
line #1:	sub: USD 20	qty: 10  	adj: USD 2.5
line #2:	sub: USD 30	qty: 2  	adj: USD 2.5
line #3:	sub: USD 5	qty: 20  	adj: USD 2.5
sum:     	USD 10
expected:	USD 10

prorating by:	amount
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 65
quantity:	33
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.53
line #1:	sub: USD 20	qty: 10  	adj: USD 3.07
line #2:	sub: USD 30	qty: 2  	adj: USD 4.61
line #3:	sub: USD 5	qty: 20  	adj: USD 0.76
sum:     	USD 9.97
expected:	USD 10
extra pennies:	USD 0.03
subTotal:	USD 65
quantity:	33
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.53
line #1:	sub: USD 20	qty: 10  	adj: USD 3.08
line #2:	sub: USD 30	qty: 2  	adj: USD 4.62
line #3:	sub: USD 5	qty: 20  	adj: USD 0.77
sum:     	USD 10
expected:	USD 10

prorating by:	quantity
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 65
quantity:	33
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.3
line #1:	sub: USD 20	qty: 10  	adj: USD 3.03
line #2:	sub: USD 30	qty: 2  	adj: USD 0.6
line #3:	sub: USD 5	qty: 20  	adj: USD 6.06
sum:     	USD 9.99
expected:	USD 10
extra pennies:	USD 0.01
subTotal:	USD 65
quantity:	33
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.3
line #1:	sub: USD 20	qty: 10  	adj: USD 3.03
line #2:	sub: USD 30	qty: 2  	adj: USD 0.6
line #3:	sub: USD 5	qty: 20  	adj: USD 6.07
sum:     	USD 10
expected:	USD 10

prorating by:	lines
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 65
quantity:	33
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 2.49
line #1:	sub: USD 20	qty: 10  	adj: USD 2.49
line #2:	sub: USD 30	qty: 2  	adj: USD 2.5
line #3:	sub: USD 5	qty: 20  	adj: USD 2.5
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	amount
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 65
quantity:	33
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.53
line #1:	sub: USD 20	qty: 10  	adj: USD 3.07
line #2:	sub: USD 30	qty: 2  	adj: USD 4.6
line #3:	sub: USD 5	qty: 20  	adj: USD 0.76
sum:     	USD 9.96
expected:	USD 9.98
extra pennies:	USD 0.02
subTotal:	USD 65
quantity:	33
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.53
line #1:	sub: USD 20	qty: 10  	adj: USD 3.07
line #2:	sub: USD 30	qty: 2  	adj: USD 4.61
line #3:	sub: USD 5	qty: 20  	adj: USD 0.77
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	quantity
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 65
quantity:	33
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.3
line #1:	sub: USD 20	qty: 10  	adj: USD 3.02
line #2:	sub: USD 30	qty: 2  	adj: USD 0.6
line #3:	sub: USD 5	qty: 20  	adj: USD 6.04
sum:     	USD 9.96
expected:	USD 9.98
extra pennies:	USD 0.02
subTotal:	USD 65
quantity:	33
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.3
line #1:	sub: USD 20	qty: 10  	adj: USD 3.02
line #2:	sub: USD 30	qty: 2  	adj: USD 0.61
line #3:	sub: USD 5	qty: 20  	adj: USD 6.05
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	lines
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 65
quantity:	33
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.83
line #1:	sub: USD 20	qty: 10  	adj: USD 0.83
line #2:	sub: USD 30	qty: 2  	adj: USD 0.83
line #3:	sub: USD 5	qty: 20  	adj: USD 0.84
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	amount
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 65
quantity:	33
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.51
line #1:	sub: USD 20	qty: 10  	adj: USD 1.02
line #2:	sub: USD 30	qty: 2  	adj: USD 1.53
line #3:	sub: USD 5	qty: 20  	adj: USD 0.25
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 65
quantity:	33
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.51
line #1:	sub: USD 20	qty: 10  	adj: USD 1.02
line #2:	sub: USD 30	qty: 2  	adj: USD 1.54
line #3:	sub: USD 5	qty: 20  	adj: USD 0.26
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	quantity
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 65
quantity:	33
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.1
line #1:	sub: USD 20	qty: 10  	adj: USD 1
line #2:	sub: USD 30	qty: 2  	adj: USD 0.2
line #3:	sub: USD 5	qty: 20  	adj: USD 2.01
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 65
quantity:	33
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.1
line #1:	sub: USD 20	qty: 10  	adj: USD 1
line #2:	sub: USD 30	qty: 2  	adj: USD 0.21
line #3:	sub: USD 5	qty: 20  	adj: USD 2.02
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	lines
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 65
quantity:	33
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	amount
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 65
quantity:	33
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 65
quantity:	33
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	quantity
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 65
quantity:	33
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 65
quantity:	33
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	lines
no rounding:	USD 749.9925
w/ rounding:	USD 749.99
subTotal:	USD 75
quantity:	36
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 149.99
line #1:	sub: USD 20	qty: 10  	adj: USD 150
line #2:	sub: USD 30	qty: 2  	adj: USD 150
line #3:	sub: USD 5	qty: 20  	adj: USD 150
line #4:	sub: USD 10	qty: 3  	adj: USD 150
sum:     	USD 749.99
expected:	USD 749.99

prorating by:	amount
no rounding:	USD 7.499925
w/ rounding:	USD 7.5
subTotal:	USD 75
quantity:	36
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
sum:     	USD 7.45
expected:	USD 7.5
extra pennies:	USD 0.05
subTotal:	USD 75
quantity:	36
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1
line #1:	sub: USD 20	qty: 10  	adj: USD 2
line #2:	sub: USD 30	qty: 2  	adj: USD 3
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
sum:     	USD 7.5
expected:	USD 7.5

prorating by:	lines
no rounding:	USD 712.5
w/ rounding:	USD 712.5
subTotal:	USD 75
quantity:	36
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 142.5
line #1:	sub: USD 20	qty: 10  	adj: USD 142.5
line #2:	sub: USD 30	qty: 2  	adj: USD 142.5
line #3:	sub: USD 5	qty: 20  	adj: USD 142.5
line #4:	sub: USD 10	qty: 3  	adj: USD 142.5
sum:     	USD 712.5
expected:	USD 712.5

prorating by:	amount
no rounding:	USD 7.125
w/ rounding:	USD 7.12
subTotal:	USD 75
quantity:	36
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
sum:     	USD 7.12
expected:	USD 7.12

prorating by:	lines
no rounding:	USD 746.25
w/ rounding:	USD 746.25
subTotal:	USD 75
quantity:	36
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 149.25
line #1:	sub: USD 20	qty: 10  	adj: USD 149.25
line #2:	sub: USD 30	qty: 2  	adj: USD 149.25
line #3:	sub: USD 5	qty: 20  	adj: USD 149.25
line #4:	sub: USD 10	qty: 3  	adj: USD 149.25
sum:     	USD 746.25
expected:	USD 746.25

prorating by:	amount
no rounding:	USD 7.46249999999999925
w/ rounding:	USD 7.46
subTotal:	USD 75
quantity:	36
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
sum:     	USD 7.43
expected:	USD 7.46
extra pennies:	USD 0.03
subTotal:	USD 75
quantity:	36
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
sum:     	USD 7.46
expected:	USD 7.46

prorating by:	lines
no rounding:	USD 719.625
w/ rounding:	USD 719.62
subTotal:	USD 75
quantity:	36
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 143.92
line #1:	sub: USD 20	qty: 10  	adj: USD 143.92
line #2:	sub: USD 30	qty: 2  	adj: USD 143.92
line #3:	sub: USD 5	qty: 20  	adj: USD 143.93
line #4:	sub: USD 10	qty: 3  	adj: USD 143.93
sum:     	USD 719.62
expected:	USD 719.62

prorating by:	amount
no rounding:	USD 7.19625000000000075
w/ rounding:	USD 7.2
subTotal:	USD 75
quantity:	36
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.91
line #2:	sub: USD 30	qty: 2  	adj: USD 2.87
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
sum:     	USD 7.15
expected:	USD 7.2
extra pennies:	USD 0.05
subTotal:	USD 75
quantity:	36
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.96
line #1:	sub: USD 20	qty: 10  	adj: USD 1.92
line #2:	sub: USD 30	qty: 2  	adj: USD 2.88
line #3:	sub: USD 5	qty: 20  	adj: USD 0.48
line #4:	sub: USD 10	qty: 3  	adj: USD 0.96
sum:     	USD 7.2
expected:	USD 7.2

prorating by:	lines
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 75
quantity:	36
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 2
line #1:	sub: USD 20	qty: 10  	adj: USD 2
line #2:	sub: USD 30	qty: 2  	adj: USD 2
line #3:	sub: USD 5	qty: 20  	adj: USD 2
line #4:	sub: USD 10	qty: 3  	adj: USD 2
sum:     	USD 10
expected:	USD 10

prorating by:	amount
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 75
quantity:	36
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.33
line #1:	sub: USD 20	qty: 10  	adj: USD 2.66
line #2:	sub: USD 30	qty: 2  	adj: USD 4
line #3:	sub: USD 5	qty: 20  	adj: USD 0.66
line #4:	sub: USD 10	qty: 3  	adj: USD 1.33
sum:     	USD 9.98
expected:	USD 10
extra pennies:	USD 0.02
subTotal:	USD 75
quantity:	36
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.33
line #1:	sub: USD 20	qty: 10  	adj: USD 2.66
line #2:	sub: USD 30	qty: 2  	adj: USD 4
line #3:	sub: USD 5	qty: 20  	adj: USD 0.67
line #4:	sub: USD 10	qty: 3  	adj: USD 1.34
sum:     	USD 10
expected:	USD 10

prorating by:	quantity
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 75
quantity:	36
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.27
line #1:	sub: USD 20	qty: 10  	adj: USD 2.77
line #2:	sub: USD 30	qty: 2  	adj: USD 0.55
line #3:	sub: USD 5	qty: 20  	adj: USD 5.55
line #4:	sub: USD 10	qty: 3  	adj: USD 0.83
sum:     	USD 9.97
expected:	USD 10
extra pennies:	USD 0.03
subTotal:	USD 75
quantity:	36
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.27
line #1:	sub: USD 20	qty: 10  	adj: USD 2.77
line #2:	sub: USD 30	qty: 2  	adj: USD 0.56
line #3:	sub: USD 5	qty: 20  	adj: USD 5.56
line #4:	sub: USD 10	qty: 3  	adj: USD 0.84
sum:     	USD 10
expected:	USD 10

prorating by:	lines
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 75
quantity:	36
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2
line #3:	sub: USD 5	qty: 20  	adj: USD 2
line #4:	sub: USD 10	qty: 3  	adj: USD 2
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	amount
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 75
quantity:	36
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.33
line #1:	sub: USD 20	qty: 10  	adj: USD 2.66
line #2:	sub: USD 30	qty: 2  	adj: USD 3.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.66
line #4:	sub: USD 10	qty: 3  	adj: USD 1.33
sum:     	USD 9.97
expected:	USD 9.98
extra pennies:	USD 0.01
subTotal:	USD 75
quantity:	36
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.33
line #1:	sub: USD 20	qty: 10  	adj: USD 2.66
line #2:	sub: USD 30	qty: 2  	adj: USD 3.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.66
line #4:	sub: USD 10	qty: 3  	adj: USD 1.34
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	quantity
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 75
quantity:	36
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.27
line #1:	sub: USD 20	qty: 10  	adj: USD 2.77
line #2:	sub: USD 30	qty: 2  	adj: USD 0.55
line #3:	sub: USD 5	qty: 20  	adj: USD 5.54
line #4:	sub: USD 10	qty: 3  	adj: USD 0.83
sum:     	USD 9.96
expected:	USD 9.98
extra pennies:	USD 0.02
subTotal:	USD 75
quantity:	36
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.27
line #1:	sub: USD 20	qty: 10  	adj: USD 2.77
line #2:	sub: USD 30	qty: 2  	adj: USD 0.55
line #3:	sub: USD 5	qty: 20  	adj: USD 5.55
line #4:	sub: USD 10	qty: 3  	adj: USD 0.84
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	lines
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 75
quantity:	36
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.66
line #1:	sub: USD 20	qty: 10  	adj: USD 0.66
line #2:	sub: USD 30	qty: 2  	adj: USD 0.67
line #3:	sub: USD 5	qty: 20  	adj: USD 0.67
line #4:	sub: USD 10	qty: 3  	adj: USD 0.67
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	amount
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 75
quantity:	36
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.44
line #1:	sub: USD 20	qty: 10  	adj: USD 0.88
line #2:	sub: USD 30	qty: 2  	adj: USD 1.33
line #3:	sub: USD 5	qty: 20  	adj: USD 0.22
line #4:	sub: USD 10	qty: 3  	adj: USD 0.44
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 75
quantity:	36
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.44
line #1:	sub: USD 20	qty: 10  	adj: USD 0.88
line #2:	sub: USD 30	qty: 2  	adj: USD 1.33
line #3:	sub: USD 5	qty: 20  	adj: USD 0.23
line #4:	sub: USD 10	qty: 3  	adj: USD 0.45
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	quantity
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 75
quantity:	36
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.09
line #1:	sub: USD 20	qty: 10  	adj: USD 0.92
line #2:	sub: USD 30	qty: 2  	adj: USD 0.18
line #3:	sub: USD 5	qty: 20  	adj: USD 1.85
line #4:	sub: USD 10	qty: 3  	adj: USD 0.27
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 75
quantity:	36
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.09
line #1:	sub: USD 20	qty: 10  	adj: USD 0.92
line #2:	sub: USD 30	qty: 2  	adj: USD 0.18
line #3:	sub: USD 5	qty: 20  	adj: USD 1.86
line #4:	sub: USD 10	qty: 3  	adj: USD 0.28
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	lines
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 75
quantity:	36
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	amount
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 75
quantity:	36
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 75
quantity:	36
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	quantity
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 75
quantity:	36
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 75
quantity:	36
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	lines
no rounding:	USD 899.991
w/ rounding:	USD 899.99
subTotal:	USD 90
quantity:	66
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 149.99
line #1:	sub: USD 20	qty: 10  	adj: USD 150
line #2:	sub: USD 30	qty: 2  	adj: USD 150
line #3:	sub: USD 5	qty: 20  	adj: USD 150
line #4:	sub: USD 10	qty: 3  	adj: USD 150
line #5:	sub: USD 15	qty: 30  	adj: USD 150
sum:     	USD 899.99
expected:	USD 899.99

prorating by:	amount
no rounding:	USD 8.99991
w/ rounding:	USD 9
subTotal:	USD 90
quantity:	66
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
line #5:	sub: USD 15	qty: 30  	adj: USD 1.49
sum:     	USD 8.94
expected:	USD 9
extra pennies:	USD 0.06
subTotal:	USD 90
quantity:	66
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1
line #1:	sub: USD 20	qty: 10  	adj: USD 2
line #2:	sub: USD 30	qty: 2  	adj: USD 3
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.5
sum:     	USD 9
expected:	USD 9

prorating by:	lines
no rounding:	USD 855
w/ rounding:	USD 855
subTotal:	USD 90
quantity:	66
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 142.5
line #1:	sub: USD 20	qty: 10  	adj: USD 142.5
line #2:	sub: USD 30	qty: 2  	adj: USD 142.5
line #3:	sub: USD 5	qty: 20  	adj: USD 142.5
line #4:	sub: USD 10	qty: 3  	adj: USD 142.5
line #5:	sub: USD 15	qty: 30  	adj: USD 142.5
sum:     	USD 855
expected:	USD 855

prorating by:	amount
no rounding:	USD 8.55
w/ rounding:	USD 8.55
subTotal:	USD 90
quantity:	66
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.42
sum:     	USD 8.54
expected:	USD 8.55
extra pennies:	USD 0.01
subTotal:	USD 90
quantity:	66
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.43
sum:     	USD 8.55
expected:	USD 8.55

prorating by:	lines
no rounding:	USD 895.5
w/ rounding:	USD 895.5
subTotal:	USD 90
quantity:	66
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 149.25
line #1:	sub: USD 20	qty: 10  	adj: USD 149.25
line #2:	sub: USD 30	qty: 2  	adj: USD 149.25
line #3:	sub: USD 5	qty: 20  	adj: USD 149.25
line #4:	sub: USD 10	qty: 3  	adj: USD 149.25
line #5:	sub: USD 15	qty: 30  	adj: USD 149.25
sum:     	USD 895.5
expected:	USD 895.5

prorating by:	amount
no rounding:	USD 8.9549999999999991
w/ rounding:	USD 8.95
subTotal:	USD 90
quantity:	66
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
line #5:	sub: USD 15	qty: 30  	adj: USD 1.49
sum:     	USD 8.92
expected:	USD 8.95
extra pennies:	USD 0.03
subTotal:	USD 90
quantity:	66
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.5
sum:     	USD 8.95
expected:	USD 8.95

prorating by:	lines
no rounding:	USD 863.55
w/ rounding:	USD 863.55
subTotal:	USD 90
quantity:	66
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 143.92
line #1:	sub: USD 20	qty: 10  	adj: USD 143.92
line #2:	sub: USD 30	qty: 2  	adj: USD 143.92
line #3:	sub: USD 5	qty: 20  	adj: USD 143.93
line #4:	sub: USD 10	qty: 3  	adj: USD 143.93
line #5:	sub: USD 15	qty: 30  	adj: USD 143.93
sum:     	USD 863.55
expected:	USD 863.55

prorating by:	amount
no rounding:	USD 8.6355000000000009
w/ rounding:	USD 8.64
subTotal:	USD 90
quantity:	66
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.91
line #2:	sub: USD 30	qty: 2  	adj: USD 2.87
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.43
sum:     	USD 8.58
expected:	USD 8.64
extra pennies:	USD 0.06
subTotal:	USD 90
quantity:	66
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.96
line #1:	sub: USD 20	qty: 10  	adj: USD 1.92
line #2:	sub: USD 30	qty: 2  	adj: USD 2.88
line #3:	sub: USD 5	qty: 20  	adj: USD 0.48
line #4:	sub: USD 10	qty: 3  	adj: USD 0.96
line #5:	sub: USD 15	qty: 30  	adj: USD 1.44
sum:     	USD 8.64
expected:	USD 8.64

prorating by:	lines
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 90
quantity:	66
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.66
line #1:	sub: USD 20	qty: 10  	adj: USD 1.66
line #2:	sub: USD 30	qty: 2  	adj: USD 1.67
line #3:	sub: USD 5	qty: 20  	adj: USD 1.67
line #4:	sub: USD 10	qty: 3  	adj: USD 1.67
line #5:	sub: USD 15	qty: 30  	adj: USD 1.67
sum:     	USD 10
expected:	USD 10

prorating by:	amount
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 90
quantity:	66
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.11
line #1:	sub: USD 20	qty: 10  	adj: USD 2.22
line #2:	sub: USD 30	qty: 2  	adj: USD 3.33
line #3:	sub: USD 5	qty: 20  	adj: USD 0.55
line #4:	sub: USD 10	qty: 3  	adj: USD 1.11
line #5:	sub: USD 15	qty: 30  	adj: USD 1.66
sum:     	USD 9.98
expected:	USD 10
extra pennies:	USD 0.02
subTotal:	USD 90
quantity:	66
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.11
line #1:	sub: USD 20	qty: 10  	adj: USD 2.22
line #2:	sub: USD 30	qty: 2  	adj: USD 3.33
line #3:	sub: USD 5	qty: 20  	adj: USD 0.55
line #4:	sub: USD 10	qty: 3  	adj: USD 1.12
line #5:	sub: USD 15	qty: 30  	adj: USD 1.67
sum:     	USD 10
expected:	USD 10

prorating by:	quantity
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 90
quantity:	66
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.15
line #1:	sub: USD 20	qty: 10  	adj: USD 1.51
line #2:	sub: USD 30	qty: 2  	adj: USD 0.3
line #3:	sub: USD 5	qty: 20  	adj: USD 3.03
line #4:	sub: USD 10	qty: 3  	adj: USD 0.45
line #5:	sub: USD 15	qty: 30  	adj: USD 4.54
sum:     	USD 9.98
expected:	USD 10
extra pennies:	USD 0.02
subTotal:	USD 90
quantity:	66
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.15
line #1:	sub: USD 20	qty: 10  	adj: USD 1.51
line #2:	sub: USD 30	qty: 2  	adj: USD 0.3
line #3:	sub: USD 5	qty: 20  	adj: USD 3.03
line #4:	sub: USD 10	qty: 3  	adj: USD 0.46
line #5:	sub: USD 15	qty: 30  	adj: USD 4.55
sum:     	USD 10
expected:	USD 10

prorating by:	lines
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 90
quantity:	66
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.66
line #1:	sub: USD 20	qty: 10  	adj: USD 1.66
line #2:	sub: USD 30	qty: 2  	adj: USD 1.66
line #3:	sub: USD 5	qty: 20  	adj: USD 1.66
line #4:	sub: USD 10	qty: 3  	adj: USD 1.67
line #5:	sub: USD 15	qty: 30  	adj: USD 1.67
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	amount
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 90
quantity:	66
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.1
line #1:	sub: USD 20	qty: 10  	adj: USD 2.21
line #2:	sub: USD 30	qty: 2  	adj: USD 3.32
line #3:	sub: USD 5	qty: 20  	adj: USD 0.55
line #4:	sub: USD 10	qty: 3  	adj: USD 1.1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.66
sum:     	USD 9.94
expected:	USD 9.98
extra pennies:	USD 0.04
subTotal:	USD 90
quantity:	66
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.1
line #1:	sub: USD 20	qty: 10  	adj: USD 2.21
line #2:	sub: USD 30	qty: 2  	adj: USD 3.33
line #3:	sub: USD 5	qty: 20  	adj: USD 0.56
line #4:	sub: USD 10	qty: 3  	adj: USD 1.11
line #5:	sub: USD 15	qty: 30  	adj: USD 1.67
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	quantity
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 90
quantity:	66
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.15
line #1:	sub: USD 20	qty: 10  	adj: USD 1.51
line #2:	sub: USD 30	qty: 2  	adj: USD 0.3
line #3:	sub: USD 5	qty: 20  	adj: USD 3.02
line #4:	sub: USD 10	qty: 3  	adj: USD 0.45
line #5:	sub: USD 15	qty: 30  	adj: USD 4.53
sum:     	USD 9.96
expected:	USD 9.98
extra pennies:	USD 0.02
subTotal:	USD 90
quantity:	66
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.15
line #1:	sub: USD 20	qty: 10  	adj: USD 1.51
line #2:	sub: USD 30	qty: 2  	adj: USD 0.3
line #3:	sub: USD 5	qty: 20  	adj: USD 3.02
line #4:	sub: USD 10	qty: 3  	adj: USD 0.46
line #5:	sub: USD 15	qty: 30  	adj: USD 4.54
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	lines
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 90
quantity:	66
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.55
line #1:	sub: USD 20	qty: 10  	adj: USD 0.55
line #2:	sub: USD 30	qty: 2  	adj: USD 0.55
line #3:	sub: USD 5	qty: 20  	adj: USD 0.56
line #4:	sub: USD 10	qty: 3  	adj: USD 0.56
line #5:	sub: USD 15	qty: 30  	adj: USD 0.56
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	amount
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 90
quantity:	66
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.37
line #1:	sub: USD 20	qty: 10  	adj: USD 0.74
line #2:	sub: USD 30	qty: 2  	adj: USD 1.1
line #3:	sub: USD 5	qty: 20  	adj: USD 0.18
line #4:	sub: USD 10	qty: 3  	adj: USD 0.37
line #5:	sub: USD 15	qty: 30  	adj: USD 0.55
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 90
quantity:	66
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.37
line #1:	sub: USD 20	qty: 10  	adj: USD 0.74
line #2:	sub: USD 30	qty: 2  	adj: USD 1.1
line #3:	sub: USD 5	qty: 20  	adj: USD 0.18
line #4:	sub: USD 10	qty: 3  	adj: USD 0.38
line #5:	sub: USD 15	qty: 30  	adj: USD 0.56
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	quantity
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 90
quantity:	66
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.05
line #1:	sub: USD 20	qty: 10  	adj: USD 0.5
line #2:	sub: USD 30	qty: 2  	adj: USD 0.1
line #3:	sub: USD 5	qty: 20  	adj: USD 1
line #4:	sub: USD 10	qty: 3  	adj: USD 0.15
line #5:	sub: USD 15	qty: 30  	adj: USD 1.51
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 90
quantity:	66
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.05
line #1:	sub: USD 20	qty: 10  	adj: USD 0.5
line #2:	sub: USD 30	qty: 2  	adj: USD 0.1
line #3:	sub: USD 5	qty: 20  	adj: USD 1
line #4:	sub: USD 10	qty: 3  	adj: USD 0.16
line #5:	sub: USD 15	qty: 30  	adj: USD 1.52
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	lines
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 90
quantity:	66
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	amount
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 90
quantity:	66
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 90
quantity:	66
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	quantity
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 90
quantity:	66
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 90
quantity:	66
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	lines
no rounding:	USD 1099.989
w/ rounding:	USD 1099.99
subTotal:	USD 110
quantity:	70
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 157.14
line #1:	sub: USD 20	qty: 10  	adj: USD 157.14
line #2:	sub: USD 30	qty: 2  	adj: USD 157.14
line #3:	sub: USD 5	qty: 20  	adj: USD 157.14
line #4:	sub: USD 10	qty: 3  	adj: USD 157.14
line #5:	sub: USD 15	qty: 30  	adj: USD 157.14
line #6:	sub: USD 20	qty: 4  	adj: USD 157.15
sum:     	USD 1099.99
expected:	USD 1099.99

prorating by:	amount
no rounding:	USD 10.99989
w/ rounding:	USD 11
subTotal:	USD 110
quantity:	70
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
line #5:	sub: USD 15	qty: 30  	adj: USD 1.49
line #6:	sub: USD 20	qty: 4  	adj: USD 1.99
sum:     	USD 10.93
expected:	USD 11
extra pennies:	USD 0.07
subTotal:	USD 110
quantity:	70
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1
line #1:	sub: USD 20	qty: 10  	adj: USD 2
line #2:	sub: USD 30	qty: 2  	adj: USD 3
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.5
line #6:	sub: USD 20	qty: 4  	adj: USD 2
sum:     	USD 11
expected:	USD 11

prorating by:	lines
no rounding:	USD 1045
w/ rounding:	USD 1045
subTotal:	USD 110
quantity:	70
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 149.28
line #1:	sub: USD 20	qty: 10  	adj: USD 149.28
line #2:	sub: USD 30	qty: 2  	adj: USD 149.28
line #3:	sub: USD 5	qty: 20  	adj: USD 149.29
line #4:	sub: USD 10	qty: 3  	adj: USD 149.29
line #5:	sub: USD 15	qty: 30  	adj: USD 149.29
line #6:	sub: USD 20	qty: 4  	adj: USD 149.29
sum:     	USD 1045
expected:	USD 1045

prorating by:	amount
no rounding:	USD 10.45
w/ rounding:	USD 10.45
subTotal:	USD 110
quantity:	70
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.42
line #6:	sub: USD 20	qty: 4  	adj: USD 1.9
sum:     	USD 10.44
expected:	USD 10.45
extra pennies:	USD 0.01
subTotal:	USD 110
quantity:	70
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.42
line #6:	sub: USD 20	qty: 4  	adj: USD 1.91
sum:     	USD 10.45
expected:	USD 10.45

prorating by:	lines
no rounding:	USD 1094.5
w/ rounding:	USD 1094.5
subTotal:	USD 110
quantity:	70
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 156.35
line #1:	sub: USD 20	qty: 10  	adj: USD 156.35
line #2:	sub: USD 30	qty: 2  	adj: USD 156.36
line #3:	sub: USD 5	qty: 20  	adj: USD 156.36
line #4:	sub: USD 10	qty: 3  	adj: USD 156.36
line #5:	sub: USD 15	qty: 30  	adj: USD 156.36
line #6:	sub: USD 20	qty: 4  	adj: USD 156.36
sum:     	USD 1094.5
expected:	USD 1094.5

prorating by:	amount
no rounding:	USD 10.9449999999999989
w/ rounding:	USD 10.94
subTotal:	USD 110
quantity:	70
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
line #5:	sub: USD 15	qty: 30  	adj: USD 1.49
line #6:	sub: USD 20	qty: 4  	adj: USD 1.98
sum:     	USD 10.9
expected:	USD 10.94
extra pennies:	USD 0.04
subTotal:	USD 110
quantity:	70
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.5
line #6:	sub: USD 20	qty: 4  	adj: USD 1.99
sum:     	USD 10.94
expected:	USD 10.94

prorating by:	lines
no rounding:	USD 1055.45
w/ rounding:	USD 1055.45
subTotal:	USD 110
quantity:	70
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 150.77
line #1:	sub: USD 20	qty: 10  	adj: USD 150.78
line #2:	sub: USD 30	qty: 2  	adj: USD 150.78
line #3:	sub: USD 5	qty: 20  	adj: USD 150.78
line #4:	sub: USD 10	qty: 3  	adj: USD 150.78
line #5:	sub: USD 15	qty: 30  	adj: USD 150.78
line #6:	sub: USD 20	qty: 4  	adj: USD 150.78
sum:     	USD 1055.45
expected:	USD 1055.45

prorating by:	amount
no rounding:	USD 10.5545000000000011
w/ rounding:	USD 10.55
subTotal:	USD 110
quantity:	70
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.91
line #2:	sub: USD 30	qty: 2  	adj: USD 2.87
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.43
line #6:	sub: USD 20	qty: 4  	adj: USD 1.91
sum:     	USD 10.49
expected:	USD 10.55
extra pennies:	USD 0.06
subTotal:	USD 110
quantity:	70
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.92
line #2:	sub: USD 30	qty: 2  	adj: USD 2.88
line #3:	sub: USD 5	qty: 20  	adj: USD 0.48
line #4:	sub: USD 10	qty: 3  	adj: USD 0.96
line #5:	sub: USD 15	qty: 30  	adj: USD 1.44
line #6:	sub: USD 20	qty: 4  	adj: USD 1.92
sum:     	USD 10.55
expected:	USD 10.55

prorating by:	lines
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 110
quantity:	70
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.42
line #1:	sub: USD 20	qty: 10  	adj: USD 1.43
line #2:	sub: USD 30	qty: 2  	adj: USD 1.43
line #3:	sub: USD 5	qty: 20  	adj: USD 1.43
line #4:	sub: USD 10	qty: 3  	adj: USD 1.43
line #5:	sub: USD 15	qty: 30  	adj: USD 1.43
line #6:	sub: USD 20	qty: 4  	adj: USD 1.43
sum:     	USD 10
expected:	USD 10

prorating by:	amount
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 110
quantity:	70
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.9
line #1:	sub: USD 20	qty: 10  	adj: USD 1.81
line #2:	sub: USD 30	qty: 2  	adj: USD 2.72
line #3:	sub: USD 5	qty: 20  	adj: USD 0.45
line #4:	sub: USD 10	qty: 3  	adj: USD 0.9
line #5:	sub: USD 15	qty: 30  	adj: USD 1.36
line #6:	sub: USD 20	qty: 4  	adj: USD 1.81
sum:     	USD 9.95
expected:	USD 10
extra pennies:	USD 0.05
subTotal:	USD 110
quantity:	70
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.9
line #1:	sub: USD 20	qty: 10  	adj: USD 1.81
line #2:	sub: USD 30	qty: 2  	adj: USD 2.73
line #3:	sub: USD 5	qty: 20  	adj: USD 0.46
line #4:	sub: USD 10	qty: 3  	adj: USD 0.91
line #5:	sub: USD 15	qty: 30  	adj: USD 1.37
line #6:	sub: USD 20	qty: 4  	adj: USD 1.82
sum:     	USD 10
expected:	USD 10

prorating by:	quantity
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 110
quantity:	70
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.14
line #1:	sub: USD 20	qty: 10  	adj: USD 1.42
line #2:	sub: USD 30	qty: 2  	adj: USD 0.28
line #3:	sub: USD 5	qty: 20  	adj: USD 2.85
line #4:	sub: USD 10	qty: 3  	adj: USD 0.42
line #5:	sub: USD 15	qty: 30  	adj: USD 4.28
line #6:	sub: USD 20	qty: 4  	adj: USD 0.57
sum:     	USD 9.96
expected:	USD 10
extra pennies:	USD 0.04
subTotal:	USD 110
quantity:	70
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.14
line #1:	sub: USD 20	qty: 10  	adj: USD 1.42
line #2:	sub: USD 30	qty: 2  	adj: USD 0.28
line #3:	sub: USD 5	qty: 20  	adj: USD 2.86
line #4:	sub: USD 10	qty: 3  	adj: USD 0.43
line #5:	sub: USD 15	qty: 30  	adj: USD 4.29
line #6:	sub: USD 20	qty: 4  	adj: USD 0.58
sum:     	USD 10
expected:	USD 10

prorating by:	lines
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 110
quantity:	70
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.42
line #1:	sub: USD 20	qty: 10  	adj: USD 1.42
line #2:	sub: USD 30	qty: 2  	adj: USD 1.42
line #3:	sub: USD 5	qty: 20  	adj: USD 1.43
line #4:	sub: USD 10	qty: 3  	adj: USD 1.43
line #5:	sub: USD 15	qty: 30  	adj: USD 1.43
line #6:	sub: USD 20	qty: 4  	adj: USD 1.43
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	amount
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 110
quantity:	70
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.9
line #1:	sub: USD 20	qty: 10  	adj: USD 1.81
line #2:	sub: USD 30	qty: 2  	adj: USD 2.72
line #3:	sub: USD 5	qty: 20  	adj: USD 0.45
line #4:	sub: USD 10	qty: 3  	adj: USD 0.9
line #5:	sub: USD 15	qty: 30  	adj: USD 1.36
line #6:	sub: USD 20	qty: 4  	adj: USD 1.81
sum:     	USD 9.95
expected:	USD 9.98
extra pennies:	USD 0.03
subTotal:	USD 110
quantity:	70
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.9
line #1:	sub: USD 20	qty: 10  	adj: USD 1.81
line #2:	sub: USD 30	qty: 2  	adj: USD 2.72
line #3:	sub: USD 5	qty: 20  	adj: USD 0.45
line #4:	sub: USD 10	qty: 3  	adj: USD 0.91
line #5:	sub: USD 15	qty: 30  	adj: USD 1.37
line #6:	sub: USD 20	qty: 4  	adj: USD 1.82
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	quantity
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 110
quantity:	70
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.14
line #1:	sub: USD 20	qty: 10  	adj: USD 1.42
line #2:	sub: USD 30	qty: 2  	adj: USD 0.28
line #3:	sub: USD 5	qty: 20  	adj: USD 2.85
line #4:	sub: USD 10	qty: 3  	adj: USD 0.42
line #5:	sub: USD 15	qty: 30  	adj: USD 4.27
line #6:	sub: USD 20	qty: 4  	adj: USD 0.57
sum:     	USD 9.95
expected:	USD 9.98
extra pennies:	USD 0.03
subTotal:	USD 110
quantity:	70
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.14
line #1:	sub: USD 20	qty: 10  	adj: USD 1.42
line #2:	sub: USD 30	qty: 2  	adj: USD 0.28
line #3:	sub: USD 5	qty: 20  	adj: USD 2.85
line #4:	sub: USD 10	qty: 3  	adj: USD 0.43
line #5:	sub: USD 15	qty: 30  	adj: USD 4.28
line #6:	sub: USD 20	qty: 4  	adj: USD 0.58
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	lines
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 110
quantity:	70
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.47
line #1:	sub: USD 20	qty: 10  	adj: USD 0.47
line #2:	sub: USD 30	qty: 2  	adj: USD 0.47
line #3:	sub: USD 5	qty: 20  	adj: USD 0.48
line #4:	sub: USD 10	qty: 3  	adj: USD 0.48
line #5:	sub: USD 15	qty: 30  	adj: USD 0.48
line #6:	sub: USD 20	qty: 4  	adj: USD 0.48
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	amount
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 110
quantity:	70
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.3
line #1:	sub: USD 20	qty: 10  	adj: USD 0.6
line #2:	sub: USD 30	qty: 2  	adj: USD 0.9
line #3:	sub: USD 5	qty: 20  	adj: USD 0.15
line #4:	sub: USD 10	qty: 3  	adj: USD 0.3
line #5:	sub: USD 15	qty: 30  	adj: USD 0.45
line #6:	sub: USD 20	qty: 4  	adj: USD 0.6
sum:     	USD 3.3
expected:	USD 3.33
extra pennies:	USD 0.03
subTotal:	USD 110
quantity:	70
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.3
line #1:	sub: USD 20	qty: 10  	adj: USD 0.6
line #2:	sub: USD 30	qty: 2  	adj: USD 0.9
line #3:	sub: USD 5	qty: 20  	adj: USD 0.15
line #4:	sub: USD 10	qty: 3  	adj: USD 0.31
line #5:	sub: USD 15	qty: 30  	adj: USD 0.46
line #6:	sub: USD 20	qty: 4  	adj: USD 0.61
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	quantity
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 110
quantity:	70
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.04
line #1:	sub: USD 20	qty: 10  	adj: USD 0.47
line #2:	sub: USD 30	qty: 2  	adj: USD 0.09
line #3:	sub: USD 5	qty: 20  	adj: USD 0.95
line #4:	sub: USD 10	qty: 3  	adj: USD 0.14
line #5:	sub: USD 15	qty: 30  	adj: USD 1.42
line #6:	sub: USD 20	qty: 4  	adj: USD 0.19
sum:     	USD 3.3
expected:	USD 3.33
extra pennies:	USD 0.03
subTotal:	USD 110
quantity:	70
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.04
line #1:	sub: USD 20	qty: 10  	adj: USD 0.47
line #2:	sub: USD 30	qty: 2  	adj: USD 0.09
line #3:	sub: USD 5	qty: 20  	adj: USD 0.95
line #4:	sub: USD 10	qty: 3  	adj: USD 0.15
line #5:	sub: USD 15	qty: 30  	adj: USD 1.43
line #6:	sub: USD 20	qty: 4  	adj: USD 0.2
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	lines
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 110
quantity:	70
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	amount
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 110
quantity:	70
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 110
quantity:	70
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	quantity
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 110
quantity:	70
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 110
quantity:	70
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	lines
no rounding:	USD 1349.9865
w/ rounding:	USD 1349.99
subTotal:	USD 135
quantity:	110
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 168.74
line #1:	sub: USD 20	qty: 10  	adj: USD 168.75
line #2:	sub: USD 30	qty: 2  	adj: USD 168.75
line #3:	sub: USD 5	qty: 20  	adj: USD 168.75
line #4:	sub: USD 10	qty: 3  	adj: USD 168.75
line #5:	sub: USD 15	qty: 30  	adj: USD 168.75
line #6:	sub: USD 20	qty: 4  	adj: USD 168.75
line #7:	sub: USD 25	qty: 40  	adj: USD 168.75
sum:     	USD 1349.99
expected:	USD 1349.99

prorating by:	amount
no rounding:	USD 13.499865
w/ rounding:	USD 13.5
subTotal:	USD 135
quantity:	110
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
line #5:	sub: USD 15	qty: 30  	adj: USD 1.49
line #6:	sub: USD 20	qty: 4  	adj: USD 1.99
line #7:	sub: USD 25	qty: 40  	adj: USD 2.49
sum:     	USD 13.42
expected:	USD 13.5
extra pennies:	USD 0.08
subTotal:	USD 135
quantity:	110
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1
line #1:	sub: USD 20	qty: 10  	adj: USD 2
line #2:	sub: USD 30	qty: 2  	adj: USD 3
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.5
line #6:	sub: USD 20	qty: 4  	adj: USD 2
line #7:	sub: USD 25	qty: 40  	adj: USD 2.5
sum:     	USD 13.5
expected:	USD 13.5

prorating by:	lines
no rounding:	USD 1282.5
w/ rounding:	USD 1282.5
subTotal:	USD 135
quantity:	110
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 160.31
line #1:	sub: USD 20	qty: 10  	adj: USD 160.31
line #2:	sub: USD 30	qty: 2  	adj: USD 160.31
line #3:	sub: USD 5	qty: 20  	adj: USD 160.31
line #4:	sub: USD 10	qty: 3  	adj: USD 160.31
line #5:	sub: USD 15	qty: 30  	adj: USD 160.31
line #6:	sub: USD 20	qty: 4  	adj: USD 160.32
line #7:	sub: USD 25	qty: 40  	adj: USD 160.32
sum:     	USD 1282.5
expected:	USD 1282.5

prorating by:	amount
no rounding:	USD 12.825
w/ rounding:	USD 12.82
subTotal:	USD 135
quantity:	110
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.42
line #6:	sub: USD 20	qty: 4  	adj: USD 1.9
line #7:	sub: USD 25	qty: 40  	adj: USD 2.37
sum:     	USD 12.81
expected:	USD 12.82
extra pennies:	USD 0.01
subTotal:	USD 135
quantity:	110
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.42
line #6:	sub: USD 20	qty: 4  	adj: USD 1.9
line #7:	sub: USD 25	qty: 40  	adj: USD 2.38
sum:     	USD 12.82
expected:	USD 12.82

prorating by:	lines
no rounding:	USD 1343.25
w/ rounding:	USD 1343.25
subTotal:	USD 135
quantity:	110
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 167.9
line #1:	sub: USD 20	qty: 10  	adj: USD 167.9
line #2:	sub: USD 30	qty: 2  	adj: USD 167.9
line #3:	sub: USD 5	qty: 20  	adj: USD 167.91
line #4:	sub: USD 10	qty: 3  	adj: USD 167.91
line #5:	sub: USD 15	qty: 30  	adj: USD 167.91
line #6:	sub: USD 20	qty: 4  	adj: USD 167.91
line #7:	sub: USD 25	qty: 40  	adj: USD 167.91
sum:     	USD 1343.25
expected:	USD 1343.25

prorating by:	amount
no rounding:	USD 13.43249999999999865
w/ rounding:	USD 13.43
subTotal:	USD 135
quantity:	110
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
line #5:	sub: USD 15	qty: 30  	adj: USD 1.49
line #6:	sub: USD 20	qty: 4  	adj: USD 1.98
line #7:	sub: USD 25	qty: 40  	adj: USD 2.48
sum:     	USD 13.38
expected:	USD 13.43
extra pennies:	USD 0.05
subTotal:	USD 135
quantity:	110
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.5
line #6:	sub: USD 20	qty: 4  	adj: USD 1.99
line #7:	sub: USD 25	qty: 40  	adj: USD 2.49
sum:     	USD 13.43
expected:	USD 13.43

prorating by:	lines
no rounding:	USD 1295.325
w/ rounding:	USD 1295.32
subTotal:	USD 135
quantity:	110
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 161.91
line #1:	sub: USD 20	qty: 10  	adj: USD 161.91
line #2:	sub: USD 30	qty: 2  	adj: USD 161.91
line #3:	sub: USD 5	qty: 20  	adj: USD 161.91
line #4:	sub: USD 10	qty: 3  	adj: USD 161.92
line #5:	sub: USD 15	qty: 30  	adj: USD 161.92
line #6:	sub: USD 20	qty: 4  	adj: USD 161.92
line #7:	sub: USD 25	qty: 40  	adj: USD 161.92
sum:     	USD 1295.32
expected:	USD 1295.32

prorating by:	amount
no rounding:	USD 12.95325000000000135
w/ rounding:	USD 12.95
subTotal:	USD 135
quantity:	110
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.91
line #2:	sub: USD 30	qty: 2  	adj: USD 2.87
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.43
line #6:	sub: USD 20	qty: 4  	adj: USD 1.91
line #7:	sub: USD 25	qty: 40  	adj: USD 2.39
sum:     	USD 12.88
expected:	USD 12.95
extra pennies:	USD 0.07
subTotal:	USD 135
quantity:	110
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.92
line #2:	sub: USD 30	qty: 2  	adj: USD 2.88
line #3:	sub: USD 5	qty: 20  	adj: USD 0.48
line #4:	sub: USD 10	qty: 3  	adj: USD 0.96
line #5:	sub: USD 15	qty: 30  	adj: USD 1.44
line #6:	sub: USD 20	qty: 4  	adj: USD 1.92
line #7:	sub: USD 25	qty: 40  	adj: USD 2.4
sum:     	USD 12.95
expected:	USD 12.95

prorating by:	lines
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 135
quantity:	110
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.25
line #1:	sub: USD 20	qty: 10  	adj: USD 1.25
line #2:	sub: USD 30	qty: 2  	adj: USD 1.25
line #3:	sub: USD 5	qty: 20  	adj: USD 1.25
line #4:	sub: USD 10	qty: 3  	adj: USD 1.25
line #5:	sub: USD 15	qty: 30  	adj: USD 1.25
line #6:	sub: USD 20	qty: 4  	adj: USD 1.25
line #7:	sub: USD 25	qty: 40  	adj: USD 1.25
sum:     	USD 10
expected:	USD 10

prorating by:	amount
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 135
quantity:	110
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.74
line #1:	sub: USD 20	qty: 10  	adj: USD 1.48
line #2:	sub: USD 30	qty: 2  	adj: USD 2.22
line #3:	sub: USD 5	qty: 20  	adj: USD 0.37
line #4:	sub: USD 10	qty: 3  	adj: USD 0.74
line #5:	sub: USD 15	qty: 30  	adj: USD 1.11
line #6:	sub: USD 20	qty: 4  	adj: USD 1.48
line #7:	sub: USD 25	qty: 40  	adj: USD 1.85
sum:     	USD 9.99
expected:	USD 10
extra pennies:	USD 0.01
subTotal:	USD 135
quantity:	110
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.74
line #1:	sub: USD 20	qty: 10  	adj: USD 1.48
line #2:	sub: USD 30	qty: 2  	adj: USD 2.22
line #3:	sub: USD 5	qty: 20  	adj: USD 0.37
line #4:	sub: USD 10	qty: 3  	adj: USD 0.74
line #5:	sub: USD 15	qty: 30  	adj: USD 1.11
line #6:	sub: USD 20	qty: 4  	adj: USD 1.48
line #7:	sub: USD 25	qty: 40  	adj: USD 1.86
sum:     	USD 10
expected:	USD 10

prorating by:	quantity
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 135
quantity:	110
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.09
line #1:	sub: USD 20	qty: 10  	adj: USD 0.9
line #2:	sub: USD 30	qty: 2  	adj: USD 0.18
line #3:	sub: USD 5	qty: 20  	adj: USD 1.81
line #4:	sub: USD 10	qty: 3  	adj: USD 0.27
line #5:	sub: USD 15	qty: 30  	adj: USD 2.72
line #6:	sub: USD 20	qty: 4  	adj: USD 0.36
line #7:	sub: USD 25	qty: 40  	adj: USD 3.63
sum:     	USD 9.96
expected:	USD 10
extra pennies:	USD 0.04
subTotal:	USD 135
quantity:	110
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.09
line #1:	sub: USD 20	qty: 10  	adj: USD 0.9
line #2:	sub: USD 30	qty: 2  	adj: USD 0.18
line #3:	sub: USD 5	qty: 20  	adj: USD 1.81
line #4:	sub: USD 10	qty: 3  	adj: USD 0.28
line #5:	sub: USD 15	qty: 30  	adj: USD 2.73
line #6:	sub: USD 20	qty: 4  	adj: USD 0.37
line #7:	sub: USD 25	qty: 40  	adj: USD 3.64
sum:     	USD 10
expected:	USD 10

prorating by:	lines
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 135
quantity:	110
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.24
line #1:	sub: USD 20	qty: 10  	adj: USD 1.24
line #2:	sub: USD 30	qty: 2  	adj: USD 1.25
line #3:	sub: USD 5	qty: 20  	adj: USD 1.25
line #4:	sub: USD 10	qty: 3  	adj: USD 1.25
line #5:	sub: USD 15	qty: 30  	adj: USD 1.25
line #6:	sub: USD 20	qty: 4  	adj: USD 1.25
line #7:	sub: USD 25	qty: 40  	adj: USD 1.25
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	amount
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 135
quantity:	110
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.73
line #1:	sub: USD 20	qty: 10  	adj: USD 1.47
line #2:	sub: USD 30	qty: 2  	adj: USD 2.21
line #3:	sub: USD 5	qty: 20  	adj: USD 0.36
line #4:	sub: USD 10	qty: 3  	adj: USD 0.73
line #5:	sub: USD 15	qty: 30  	adj: USD 1.1
line #6:	sub: USD 20	qty: 4  	adj: USD 1.47
line #7:	sub: USD 25	qty: 40  	adj: USD 1.84
sum:     	USD 9.91
expected:	USD 9.98
extra pennies:	USD 0.07
subTotal:	USD 135
quantity:	110
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.73
line #1:	sub: USD 20	qty: 10  	adj: USD 1.48
line #2:	sub: USD 30	qty: 2  	adj: USD 2.22
line #3:	sub: USD 5	qty: 20  	adj: USD 0.37
line #4:	sub: USD 10	qty: 3  	adj: USD 0.74
line #5:	sub: USD 15	qty: 30  	adj: USD 1.11
line #6:	sub: USD 20	qty: 4  	adj: USD 1.48
line #7:	sub: USD 25	qty: 40  	adj: USD 1.85
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	quantity
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 135
quantity:	110
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.09
line #1:	sub: USD 20	qty: 10  	adj: USD 0.9
line #2:	sub: USD 30	qty: 2  	adj: USD 0.18
line #3:	sub: USD 5	qty: 20  	adj: USD 1.81
line #4:	sub: USD 10	qty: 3  	adj: USD 0.27
line #5:	sub: USD 15	qty: 30  	adj: USD 2.72
line #6:	sub: USD 20	qty: 4  	adj: USD 0.36
line #7:	sub: USD 25	qty: 40  	adj: USD 3.62
sum:     	USD 9.95
expected:	USD 9.98
extra pennies:	USD 0.03
subTotal:	USD 135
quantity:	110
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.09
line #1:	sub: USD 20	qty: 10  	adj: USD 0.9
line #2:	sub: USD 30	qty: 2  	adj: USD 0.18
line #3:	sub: USD 5	qty: 20  	adj: USD 1.81
line #4:	sub: USD 10	qty: 3  	adj: USD 0.27
line #5:	sub: USD 15	qty: 30  	adj: USD 2.73
line #6:	sub: USD 20	qty: 4  	adj: USD 0.37
line #7:	sub: USD 25	qty: 40  	adj: USD 3.63
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	lines
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 135
quantity:	110
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.41
line #1:	sub: USD 20	qty: 10  	adj: USD 0.41
line #2:	sub: USD 30	qty: 2  	adj: USD 0.41
line #3:	sub: USD 5	qty: 20  	adj: USD 0.42
line #4:	sub: USD 10	qty: 3  	adj: USD 0.42
line #5:	sub: USD 15	qty: 30  	adj: USD 0.42
line #6:	sub: USD 20	qty: 4  	adj: USD 0.42
line #7:	sub: USD 25	qty: 40  	adj: USD 0.42
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	amount
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 135
quantity:	110
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.24
line #1:	sub: USD 20	qty: 10  	adj: USD 0.49
line #2:	sub: USD 30	qty: 2  	adj: USD 0.74
line #3:	sub: USD 5	qty: 20  	adj: USD 0.12
line #4:	sub: USD 10	qty: 3  	adj: USD 0.24
line #5:	sub: USD 15	qty: 30  	adj: USD 0.37
line #6:	sub: USD 20	qty: 4  	adj: USD 0.49
line #7:	sub: USD 25	qty: 40  	adj: USD 0.61
sum:     	USD 3.3
expected:	USD 3.33
extra pennies:	USD 0.03
subTotal:	USD 135
quantity:	110
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.24
line #1:	sub: USD 20	qty: 10  	adj: USD 0.49
line #2:	sub: USD 30	qty: 2  	adj: USD 0.74
line #3:	sub: USD 5	qty: 20  	adj: USD 0.12
line #4:	sub: USD 10	qty: 3  	adj: USD 0.24
line #5:	sub: USD 15	qty: 30  	adj: USD 0.38
line #6:	sub: USD 20	qty: 4  	adj: USD 0.5
line #7:	sub: USD 25	qty: 40  	adj: USD 0.62
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	quantity
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 135
quantity:	110
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.03
line #1:	sub: USD 20	qty: 10  	adj: USD 0.3
line #2:	sub: USD 30	qty: 2  	adj: USD 0.06
line #3:	sub: USD 5	qty: 20  	adj: USD 0.6
line #4:	sub: USD 10	qty: 3  	adj: USD 0.09
line #5:	sub: USD 15	qty: 30  	adj: USD 0.9
line #6:	sub: USD 20	qty: 4  	adj: USD 0.12
line #7:	sub: USD 25	qty: 40  	adj: USD 1.21
sum:     	USD 3.31
expected:	USD 3.33
extra pennies:	USD 0.02
subTotal:	USD 135
quantity:	110
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.03
line #1:	sub: USD 20	qty: 10  	adj: USD 0.3
line #2:	sub: USD 30	qty: 2  	adj: USD 0.06
line #3:	sub: USD 5	qty: 20  	adj: USD 0.6
line #4:	sub: USD 10	qty: 3  	adj: USD 0.09
line #5:	sub: USD 15	qty: 30  	adj: USD 0.9
line #6:	sub: USD 20	qty: 4  	adj: USD 0.13
line #7:	sub: USD 25	qty: 40  	adj: USD 1.22
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	lines
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 135
quantity:	110
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	amount
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 135
quantity:	110
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 135
quantity:	110
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	quantity
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 135
quantity:	110
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 135
quantity:	110
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	lines
no rounding:	USD 1649.9835
w/ rounding:	USD 1649.98
subTotal:	USD 165
quantity:	115
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 183.33
line #1:	sub: USD 20	qty: 10  	adj: USD 183.33
line #2:	sub: USD 30	qty: 2  	adj: USD 183.33
line #3:	sub: USD 5	qty: 20  	adj: USD 183.33
line #4:	sub: USD 10	qty: 3  	adj: USD 183.33
line #5:	sub: USD 15	qty: 30  	adj: USD 183.33
line #6:	sub: USD 20	qty: 4  	adj: USD 183.33
line #7:	sub: USD 25	qty: 40  	adj: USD 183.33
line #8:	sub: USD 30	qty: 5  	adj: USD 183.34
sum:     	USD 1649.98
expected:	USD 1649.98

prorating by:	amount
no rounding:	USD 16.499835
w/ rounding:	USD 16.5
subTotal:	USD 165
quantity:	115
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.99
line #2:	sub: USD 30	qty: 2  	adj: USD 2.99
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
line #5:	sub: USD 15	qty: 30  	adj: USD 1.49
line #6:	sub: USD 20	qty: 4  	adj: USD 1.99
line #7:	sub: USD 25	qty: 40  	adj: USD 2.49
line #8:	sub: USD 30	qty: 5  	adj: USD 2.99
sum:     	USD 16.41
expected:	USD 16.5
extra pennies:	USD 0.09
subTotal:	USD 165
quantity:	115
adjustment:	9.9999%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1
line #1:	sub: USD 20	qty: 10  	adj: USD 2
line #2:	sub: USD 30	qty: 2  	adj: USD 3
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.5
line #6:	sub: USD 20	qty: 4  	adj: USD 2
line #7:	sub: USD 25	qty: 40  	adj: USD 2.5
line #8:	sub: USD 30	qty: 5  	adj: USD 3
sum:     	USD 16.5
expected:	USD 16.5

prorating by:	lines
no rounding:	USD 1567.5
w/ rounding:	USD 1567.5
subTotal:	USD 165
quantity:	115
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 174.16
line #1:	sub: USD 20	qty: 10  	adj: USD 174.16
line #2:	sub: USD 30	qty: 2  	adj: USD 174.16
line #3:	sub: USD 5	qty: 20  	adj: USD 174.17
line #4:	sub: USD 10	qty: 3  	adj: USD 174.17
line #5:	sub: USD 15	qty: 30  	adj: USD 174.17
line #6:	sub: USD 20	qty: 4  	adj: USD 174.17
line #7:	sub: USD 25	qty: 40  	adj: USD 174.17
line #8:	sub: USD 30	qty: 5  	adj: USD 174.17
sum:     	USD 1567.5
expected:	USD 1567.5

prorating by:	amount
no rounding:	USD 15.675
w/ rounding:	USD 15.68
subTotal:	USD 165
quantity:	115
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.42
line #6:	sub: USD 20	qty: 4  	adj: USD 1.9
line #7:	sub: USD 25	qty: 40  	adj: USD 2.37
line #8:	sub: USD 30	qty: 5  	adj: USD 2.85
sum:     	USD 15.66
expected:	USD 15.68
extra pennies:	USD 0.02
subTotal:	USD 165
quantity:	115
adjustment:	9.5%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.9
line #2:	sub: USD 30	qty: 2  	adj: USD 2.85
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.42
line #6:	sub: USD 20	qty: 4  	adj: USD 1.9
line #7:	sub: USD 25	qty: 40  	adj: USD 2.38
line #8:	sub: USD 30	qty: 5  	adj: USD 2.86
sum:     	USD 15.68
expected:	USD 15.68

prorating by:	lines
no rounding:	USD 1641.75
w/ rounding:	USD 1641.75
subTotal:	USD 165
quantity:	115
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 182.41
line #1:	sub: USD 20	qty: 10  	adj: USD 182.41
line #2:	sub: USD 30	qty: 2  	adj: USD 182.41
line #3:	sub: USD 5	qty: 20  	adj: USD 182.42
line #4:	sub: USD 10	qty: 3  	adj: USD 182.42
line #5:	sub: USD 15	qty: 30  	adj: USD 182.42
line #6:	sub: USD 20	qty: 4  	adj: USD 182.42
line #7:	sub: USD 25	qty: 40  	adj: USD 182.42
line #8:	sub: USD 30	qty: 5  	adj: USD 182.42
sum:     	USD 1641.75
expected:	USD 1641.75

prorating by:	amount
no rounding:	USD 16.41749999999999835
w/ rounding:	USD 16.42
subTotal:	USD 165
quantity:	115
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.49
line #4:	sub: USD 10	qty: 3  	adj: USD 0.99
line #5:	sub: USD 15	qty: 30  	adj: USD 1.49
line #6:	sub: USD 20	qty: 4  	adj: USD 1.98
line #7:	sub: USD 25	qty: 40  	adj: USD 2.48
line #8:	sub: USD 30	qty: 5  	adj: USD 2.98
sum:     	USD 16.36
expected:	USD 16.42
extra pennies:	USD 0.06
subTotal:	USD 165
quantity:	115
adjustment:	9.95%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.99
line #1:	sub: USD 20	qty: 10  	adj: USD 1.98
line #2:	sub: USD 30	qty: 2  	adj: USD 2.98
line #3:	sub: USD 5	qty: 20  	adj: USD 0.5
line #4:	sub: USD 10	qty: 3  	adj: USD 1
line #5:	sub: USD 15	qty: 30  	adj: USD 1.5
line #6:	sub: USD 20	qty: 4  	adj: USD 1.99
line #7:	sub: USD 25	qty: 40  	adj: USD 2.49
line #8:	sub: USD 30	qty: 5  	adj: USD 2.99
sum:     	USD 16.42
expected:	USD 16.42

prorating by:	lines
no rounding:	USD 1583.175
w/ rounding:	USD 1583.18
subTotal:	USD 165
quantity:	115
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 175.9
line #1:	sub: USD 20	qty: 10  	adj: USD 175.91
line #2:	sub: USD 30	qty: 2  	adj: USD 175.91
line #3:	sub: USD 5	qty: 20  	adj: USD 175.91
line #4:	sub: USD 10	qty: 3  	adj: USD 175.91
line #5:	sub: USD 15	qty: 30  	adj: USD 175.91
line #6:	sub: USD 20	qty: 4  	adj: USD 175.91
line #7:	sub: USD 25	qty: 40  	adj: USD 175.91
line #8:	sub: USD 30	qty: 5  	adj: USD 175.91
sum:     	USD 1583.18
expected:	USD 1583.18

prorating by:	amount
no rounding:	USD 15.83175000000000165
w/ rounding:	USD 15.83
subTotal:	USD 165
quantity:	115
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.91
line #2:	sub: USD 30	qty: 2  	adj: USD 2.87
line #3:	sub: USD 5	qty: 20  	adj: USD 0.47
line #4:	sub: USD 10	qty: 3  	adj: USD 0.95
line #5:	sub: USD 15	qty: 30  	adj: USD 1.43
line #6:	sub: USD 20	qty: 4  	adj: USD 1.91
line #7:	sub: USD 25	qty: 40  	adj: USD 2.39
line #8:	sub: USD 30	qty: 5  	adj: USD 2.87
sum:     	USD 15.75
expected:	USD 15.83
extra pennies:	USD 0.08
subTotal:	USD 165
quantity:	115
adjustment:	9.595%
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.95
line #1:	sub: USD 20	qty: 10  	adj: USD 1.92
line #2:	sub: USD 30	qty: 2  	adj: USD 2.88
line #3:	sub: USD 5	qty: 20  	adj: USD 0.48
line #4:	sub: USD 10	qty: 3  	adj: USD 0.96
line #5:	sub: USD 15	qty: 30  	adj: USD 1.44
line #6:	sub: USD 20	qty: 4  	adj: USD 1.92
line #7:	sub: USD 25	qty: 40  	adj: USD 2.4
line #8:	sub: USD 30	qty: 5  	adj: USD 2.88
sum:     	USD 15.83
expected:	USD 15.83

prorating by:	lines
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 165
quantity:	115
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.11
line #1:	sub: USD 20	qty: 10  	adj: USD 1.11
line #2:	sub: USD 30	qty: 2  	adj: USD 1.11
line #3:	sub: USD 5	qty: 20  	adj: USD 1.11
line #4:	sub: USD 10	qty: 3  	adj: USD 1.11
line #5:	sub: USD 15	qty: 30  	adj: USD 1.11
line #6:	sub: USD 20	qty: 4  	adj: USD 1.11
line #7:	sub: USD 25	qty: 40  	adj: USD 1.11
line #8:	sub: USD 30	qty: 5  	adj: USD 1.12
sum:     	USD 10
expected:	USD 10

prorating by:	amount
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 165
quantity:	115
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.6
line #1:	sub: USD 20	qty: 10  	adj: USD 1.21
line #2:	sub: USD 30	qty: 2  	adj: USD 1.81
line #3:	sub: USD 5	qty: 20  	adj: USD 0.3
line #4:	sub: USD 10	qty: 3  	adj: USD 0.6
line #5:	sub: USD 15	qty: 30  	adj: USD 0.9
line #6:	sub: USD 20	qty: 4  	adj: USD 1.21
line #7:	sub: USD 25	qty: 40  	adj: USD 1.51
line #8:	sub: USD 30	qty: 5  	adj: USD 1.81
sum:     	USD 9.95
expected:	USD 10
extra pennies:	USD 0.05
subTotal:	USD 165
quantity:	115
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.6
line #1:	sub: USD 20	qty: 10  	adj: USD 1.21
line #2:	sub: USD 30	qty: 2  	adj: USD 1.81
line #3:	sub: USD 5	qty: 20  	adj: USD 0.3
line #4:	sub: USD 10	qty: 3  	adj: USD 0.61
line #5:	sub: USD 15	qty: 30  	adj: USD 0.91
line #6:	sub: USD 20	qty: 4  	adj: USD 1.22
line #7:	sub: USD 25	qty: 40  	adj: USD 1.52
line #8:	sub: USD 30	qty: 5  	adj: USD 1.82
sum:     	USD 10
expected:	USD 10

prorating by:	quantity
no rounding:	USD 10
w/ rounding:	USD 10
subTotal:	USD 165
quantity:	115
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.08
line #1:	sub: USD 20	qty: 10  	adj: USD 0.86
line #2:	sub: USD 30	qty: 2  	adj: USD 0.17
line #3:	sub: USD 5	qty: 20  	adj: USD 1.73
line #4:	sub: USD 10	qty: 3  	adj: USD 0.26
line #5:	sub: USD 15	qty: 30  	adj: USD 2.6
line #6:	sub: USD 20	qty: 4  	adj: USD 0.34
line #7:	sub: USD 25	qty: 40  	adj: USD 3.47
line #8:	sub: USD 30	qty: 5  	adj: USD 0.43
sum:     	USD 9.94
expected:	USD 10
extra pennies:	USD 0.06
subTotal:	USD 165
quantity:	115
adjustment:	10.0
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.08
line #1:	sub: USD 20	qty: 10  	adj: USD 0.86
line #2:	sub: USD 30	qty: 2  	adj: USD 0.17
line #3:	sub: USD 5	qty: 20  	adj: USD 1.74
line #4:	sub: USD 10	qty: 3  	adj: USD 0.27
line #5:	sub: USD 15	qty: 30  	adj: USD 2.61
line #6:	sub: USD 20	qty: 4  	adj: USD 0.35
line #7:	sub: USD 25	qty: 40  	adj: USD 3.48
line #8:	sub: USD 30	qty: 5  	adj: USD 0.44
sum:     	USD 10
expected:	USD 10

prorating by:	lines
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 165
quantity:	115
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 1.1
line #1:	sub: USD 20	qty: 10  	adj: USD 1.11
line #2:	sub: USD 30	qty: 2  	adj: USD 1.11
line #3:	sub: USD 5	qty: 20  	adj: USD 1.11
line #4:	sub: USD 10	qty: 3  	adj: USD 1.11
line #5:	sub: USD 15	qty: 30  	adj: USD 1.11
line #6:	sub: USD 20	qty: 4  	adj: USD 1.11
line #7:	sub: USD 25	qty: 40  	adj: USD 1.11
line #8:	sub: USD 30	qty: 5  	adj: USD 1.11
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	amount
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 165
quantity:	115
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.6
line #1:	sub: USD 20	qty: 10  	adj: USD 1.2
line #2:	sub: USD 30	qty: 2  	adj: USD 1.81
line #3:	sub: USD 5	qty: 20  	adj: USD 0.3
line #4:	sub: USD 10	qty: 3  	adj: USD 0.6
line #5:	sub: USD 15	qty: 30  	adj: USD 0.9
line #6:	sub: USD 20	qty: 4  	adj: USD 1.2
line #7:	sub: USD 25	qty: 40  	adj: USD 1.51
line #8:	sub: USD 30	qty: 5  	adj: USD 1.81
sum:     	USD 9.93
expected:	USD 9.98
extra pennies:	USD 0.05
subTotal:	USD 165
quantity:	115
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.6
line #1:	sub: USD 20	qty: 10  	adj: USD 1.2
line #2:	sub: USD 30	qty: 2  	adj: USD 1.81
line #3:	sub: USD 5	qty: 20  	adj: USD 0.3
line #4:	sub: USD 10	qty: 3  	adj: USD 0.61
line #5:	sub: USD 15	qty: 30  	adj: USD 0.91
line #6:	sub: USD 20	qty: 4  	adj: USD 1.21
line #7:	sub: USD 25	qty: 40  	adj: USD 1.52
line #8:	sub: USD 30	qty: 5  	adj: USD 1.82
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	quantity
no rounding:	USD 9.98
w/ rounding:	USD 9.98
subTotal:	USD 165
quantity:	115
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.08
line #1:	sub: USD 20	qty: 10  	adj: USD 0.86
line #2:	sub: USD 30	qty: 2  	adj: USD 0.17
line #3:	sub: USD 5	qty: 20  	adj: USD 1.73
line #4:	sub: USD 10	qty: 3  	adj: USD 0.26
line #5:	sub: USD 15	qty: 30  	adj: USD 2.6
line #6:	sub: USD 20	qty: 4  	adj: USD 0.34
line #7:	sub: USD 25	qty: 40  	adj: USD 3.47
line #8:	sub: USD 30	qty: 5  	adj: USD 0.43
sum:     	USD 9.94
expected:	USD 9.98
extra pennies:	USD 0.04
subTotal:	USD 165
quantity:	115
adjustment:	9.98
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.08
line #1:	sub: USD 20	qty: 10  	adj: USD 0.86
line #2:	sub: USD 30	qty: 2  	adj: USD 0.17
line #3:	sub: USD 5	qty: 20  	adj: USD 1.73
line #4:	sub: USD 10	qty: 3  	adj: USD 0.26
line #5:	sub: USD 15	qty: 30  	adj: USD 2.61
line #6:	sub: USD 20	qty: 4  	adj: USD 0.35
line #7:	sub: USD 25	qty: 40  	adj: USD 3.48
line #8:	sub: USD 30	qty: 5  	adj: USD 0.44
sum:     	USD 9.98
expected:	USD 9.98

prorating by:	lines
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 165
quantity:	115
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.37
line #1:	sub: USD 20	qty: 10  	adj: USD 0.37
line #2:	sub: USD 30	qty: 2  	adj: USD 0.37
line #3:	sub: USD 5	qty: 20  	adj: USD 0.37
line #4:	sub: USD 10	qty: 3  	adj: USD 0.37
line #5:	sub: USD 15	qty: 30  	adj: USD 0.37
line #6:	sub: USD 20	qty: 4  	adj: USD 0.37
line #7:	sub: USD 25	qty: 40  	adj: USD 0.37
line #8:	sub: USD 30	qty: 5  	adj: USD 0.37
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	amount
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 165
quantity:	115
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.2
line #1:	sub: USD 20	qty: 10  	adj: USD 0.4
line #2:	sub: USD 30	qty: 2  	adj: USD 0.6
line #3:	sub: USD 5	qty: 20  	adj: USD 0.1
line #4:	sub: USD 10	qty: 3  	adj: USD 0.2
line #5:	sub: USD 15	qty: 30  	adj: USD 0.3
line #6:	sub: USD 20	qty: 4  	adj: USD 0.4
line #7:	sub: USD 25	qty: 40  	adj: USD 0.5
line #8:	sub: USD 30	qty: 5  	adj: USD 0.6
sum:     	USD 3.3
expected:	USD 3.33
extra pennies:	USD 0.03
subTotal:	USD 165
quantity:	115
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.2
line #1:	sub: USD 20	qty: 10  	adj: USD 0.4
line #2:	sub: USD 30	qty: 2  	adj: USD 0.6
line #3:	sub: USD 5	qty: 20  	adj: USD 0.1
line #4:	sub: USD 10	qty: 3  	adj: USD 0.2
line #5:	sub: USD 15	qty: 30  	adj: USD 0.3
line #6:	sub: USD 20	qty: 4  	adj: USD 0.41
line #7:	sub: USD 25	qty: 40  	adj: USD 0.51
line #8:	sub: USD 30	qty: 5  	adj: USD 0.61
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	quantity
no rounding:	USD 3.33
w/ rounding:	USD 3.33
subTotal:	USD 165
quantity:	115
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.02
line #1:	sub: USD 20	qty: 10  	adj: USD 0.28
line #2:	sub: USD 30	qty: 2  	adj: USD 0.05
line #3:	sub: USD 5	qty: 20  	adj: USD 0.57
line #4:	sub: USD 10	qty: 3  	adj: USD 0.08
line #5:	sub: USD 15	qty: 30  	adj: USD 0.86
line #6:	sub: USD 20	qty: 4  	adj: USD 0.11
line #7:	sub: USD 25	qty: 40  	adj: USD 1.15
line #8:	sub: USD 30	qty: 5  	adj: USD 0.14
sum:     	USD 3.26
expected:	USD 3.33
extra pennies:	USD 0.07
subTotal:	USD 165
quantity:	115
adjustment:	3.33
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0.02
line #1:	sub: USD 20	qty: 10  	adj: USD 0.28
line #2:	sub: USD 30	qty: 2  	adj: USD 0.06
line #3:	sub: USD 5	qty: 20  	adj: USD 0.58
line #4:	sub: USD 10	qty: 3  	adj: USD 0.09
line #5:	sub: USD 15	qty: 30  	adj: USD 0.87
line #6:	sub: USD 20	qty: 4  	adj: USD 0.12
line #7:	sub: USD 25	qty: 40  	adj: USD 1.16
line #8:	sub: USD 30	qty: 5  	adj: USD 0.15
sum:     	USD 3.33
expected:	USD 3.33

prorating by:	lines
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 165
quantity:	115
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0
line #8:	sub: USD 30	qty: 5  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	amount
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 165
quantity:	115
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0
line #8:	sub: USD 30	qty: 5  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 165
quantity:	115
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0
line #8:	sub: USD 30	qty: 5  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01

prorating by:	quantity
no rounding:	USD 0.01
w/ rounding:	USD 0.01
subTotal:	USD 165
quantity:	115
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0
line #8:	sub: USD 30	qty: 5  	adj: USD 0
sum:     	USD 0
expected:	USD 0.01
extra pennies:	USD 0.01
subTotal:	USD 165
quantity:	115
adjustment:	0.01
currency:	USD
line #0:	sub: USD 10	qty: 1  	adj: USD 0
line #1:	sub: USD 20	qty: 10  	adj: USD 0
line #2:	sub: USD 30	qty: 2  	adj: USD 0
line #3:	sub: USD 5	qty: 20  	adj: USD 0
line #4:	sub: USD 10	qty: 3  	adj: USD 0
line #5:	sub: USD 15	qty: 30  	adj: USD 0
line #6:	sub: USD 20	qty: 4  	adj: USD 0
line #7:	sub: USD 25	qty: 40  	adj: USD 0
line #8:	sub: USD 30	qty: 5  	adj: USD 0.01
sum:     	USD 0.01
expected:	USD 0.01


Currency, Precision, and Decimal Places

There are numerous references in this document to "pennies".  This was done intentionally to avoid layering in unnecessary complexity.  However, it should be noted that what this really refers to is a single quantity of the smallest unit of the currency being worked with.  This gets us into the topic of currency precision and decimal places.  Some currencies use no decimal places (e.g. Yen), others use two decimal places (e.g. USD), and a few even use 3 or 4 (e.g. Jortanian Dinar).  It's important that we take this into consideration when prorating adjustments.  Luckily the JavaMoney API provides easy access to this for each currency.  See the POC code for an example of how to obtain and use this information.

Other Notes/Special Cases

  • InvoiceLine adjustments maintain a link back to the invoice adjustment. This is needed in order to allow for the invoice adjustment to be modified/removed and have those changes trickle down into the invoiceLine adjustments.
  • In case it wasn't clear it doesn't make sense to prorate an invoiceLine adjustment. This concept only applies to invoice adjustments. The value of the prorate field in invoiceLine adjustments indicates that was how the corresponding invoice adjustment was prorated. This exists purely for context
  • In addition to the prorate field, the presence of the "adjustmentId" field in the invoiceLine Adjustment indicates that it's part of a prorated adjustment. This means it shouldn't be allowed to be removed unless the corresponding invoice adjustment as also removed.