Jason,
Thank you for the clarification. Just to recap, here is my understanding so far based on what you've said and information gathered from other forum threads:
Rate: This is automatically populated with the item's cost (as in cost to our company) from QuickBooks. However, if there is no cost information in QuickBooks, this field will be automatically populated with the sales price (as in the amount we sell it for).
MarkupRate: This is either a dollar amount or a percentage (as indicated by IsMarkupPercent) that is used to adjust the Rate. If I understand correctly, Method retrieves the item's cost directly from Quickbooks. If there is also a sales price in QB, Method automatically adjusts the MarkupRate to reflect this difference. However, there seems to be no field to store the sales price in. It seems that the original cost is stored in the Rate field and the markup rate is stored in MarkupRate. The result of those two fields will give the ultimate unit sales price. However, the value does not seem to be stored in the table anywhere.
If there is no cost, only a sales price stored in QB, I'm guessing the MarkupRate is set to 0 and the sale price is stored in the Rate field as mentioned above.
IsMarkupPercent: "Yes" value let's Method know to calculate percentage markup to the Rate. "No" value simply adds the MarkupRate as a dollar amount to the Rate.
Amount: The actual calculation seems to work in the following ways:
- If IsMarkupPercent = Yes, Rate x (1+MarkupRate/100) x Quantity (Dividing the MarkupRate by 100 turns the percent to a decimal)
- If IsMarkupPercent = No, (Rate + MarkupRate) x Quantity
- If MarkupRate = 0 Rate x Quantity
TotalAmount: Used for totaling all amounts of items that belong to a group. I haven't tried this out yet so I'm not exactly sure about it's behavior.
IsRatePercent: I'm not sure about this one. What does this do?
Please let me know if any of this information is inaccurate. Hopefully it will help anyone else trying to navigate the EstimateLine mapping between Method and QB.