I need advice on how to handle my quoting, ordering, invoicing, and payment processes. I have customized nBill to be used for my home remodeling and repair business, so I may be utilizing some features of nBill in a manner other than designed. For example I have adapted 'Orders' to mean 'Work Orders'. It works well because I can progress bill as items are completed. I understand that this may be outside the scope of support, so I am really just looking for advice or suggestions.
Where to start...?
I like to offer my customers discounts for services based on a number of factors including their location, and their repeat business with us. I have setup a discount in the backend and it seems to work fine. However, there doesn't seem to be a way to add or display this total discount on the Quotes I generate for my customers. (am I missing something?). I understand I can create a line item discount, but that requires manually adding a discount to each item and if it is a percentage discount (which most of mine are) it must be manually calculated. Some of my quotes may be up to 20 or more line items, so adding them manually just isn't efficient. Not to mention that the quote appearance in the front end looks bunched up with the extra columns and I would prefer to keep it consistant.
One option that works is adding a product on the last line of my quote called '10% Discount' with a negative price. This still has to be calculated manually, but it only has to be done once per quote. One issue this causes is that if a customer rejects a few items, the discount amount remains the same, even though obviously the discount amount should be reduced because it is meant to be a percentage of the total. So if a customer pays the deposit when accepting the quote, (and they have rejected items) the customer would be paying less than anticipated.
To combat this I have considered adding the discount as described above, then delete the '10% Discount' item on the order list and go into each remaining order item to add the global discount. This is still not efficient, but it seems to work okay. For this to work, I have to set the 'payment required to accept' to 'no' so that they can only pay from an invoice. Which brings me to my next concern/question...
I want to submit a quote, have the customer accept or reject it. If accepted, I want to be able to take a payment (online or offline) for the deposit and auto-create the order items. Then, when the work is completed, generate a final invoice for all order items minus the deposit paid. However, if the customer chooses to pay offline, I do not see anyway to record the payment and associate it with that customer, quote, or order. I have tried recording the payment in 'Income' with the customer's name. Then, once the invoice is created, go back into the payment record and select the appropriate invoice; however, the dollar amount changes as soon as the invoice is selected and this process may lead to user error or omissions.
If I set 'payment required to accept' to 'yes' but do not auto create an invoice, the payment does not get recorded and I get an error message.
My only other option is to set both 'auto create orders' and 'auto create invoices' to yes. However, as my work often changes when I get on site, I need to be able to easily change, remove, add, and update items and pricing. Often times this happens before I even submit any invoice. I would prefer not to generate any invoice until after we have completed some work, whether in part (as a progress bill) or in full (as a final invoice).
Any thoughts? Am I missing something?
Thanks in advance,