InvoiceService.addOrderItem & how it works?

I’m creating a custom order form solution, and I need to know a few things about this API method.

item type 9 is “Subscription Plan” so does that mean I put the plan ID in place of Product Id?
item type 7 is “Special” so does that mean whatever price I enter in the “price” arg will be subtracted from the total?
item type 2 is “tax” so does this just get added as a line item with whatever price I need?

  1. Yes, it should be the PlanId if they will be purchasing it on a recurring basis.
  2. Yes, each type of Special just subtracts from the Order total.
  3. Yes, the Tax type is just added to the Order total, so that you can track what taxes were collected.