anchor.diff:  ==== Dry Run Modes
   
   In some situations, it is necessary to preview what a given customer will be invoiced for at a given date or after making a subscription change.
  -Kill Bill provides dry-run invoices apis to accomplish such goal, and there are a few flavours for different use cases:
  -
  -* Next upcoming invoice: When is the next upcoming invoice for a given customer, and what will such invoice contain (items, amount, date, ...)?
  -* Next upcoming invoice associated with a given subscription or bundle: When is the next upcoming invoice for a given subscription/bundle, and what will such invoice contain (items, amount, date, ...)?
  +Kill Bill provides dry-run invoice apis to accomplish such a goal, and there are a few flavours for different use cases:
  +
  +* Next upcoming invoice: When is the next upcoming invoice for a given customer, and what will this invoice contain (items, amount, date, ...)?
  +* Next upcoming invoice associated with a given subscription or bundle: When is the next upcoming invoice for a given subscription/bundle, and what will this invoice contain (items, amount, date, ...)?
   * Given a targetDate, what invoice will the system generate ?
  -* Subscription modification: Given a change in a subscription (new subscription, change of plan, cancellation, ...), which invoice will the system generate ?
  +* Subscription modification: Given a change in a subscription (new subscription, change of plan, cancellation, ...), what invoice will the system generate ?
   
   
   
  
positive.code: ----
  
  
  This will result in the following dry-run invoice, and as expected we only see the item for the second subscription `06b826ad-73e6-4bdd-92fe-c9770a1ba30a`:
  
  
  [source,bash]
  
negative.code: 'http://127.0.0.1:8080/1.0/kb/invoices/dryRun?accountId=704b1a30-e5b9-4d01-b2b8-e9403a0ed0e3'
  ----
  
  This will result in the following dry-run invoice. As expected, we only see the item for the first subscription aligned on the 25th:
  
  [source,bash]
  ----
  