If the customer has a billing/shipping address in Minnesota (where my client is based), my client must either collect a special "certificate of tax exemption number", or charge the customer sales tax. For customers located outside MN, they don't have to collect any info or sales tax -- and we would like to keep that part simple.
My client reports that less than 10% (perhaps one or two customers a month) of their customers need to pay sales tax – the majority of customers either reside outside Minnesota, or provide that tax exemption number. My client is willing to have an online store system where purchases that require sales-tax simply get intercepted and not processed – to have a notice that is displayed telling the customer that they will need to phone the office to process their order with the sales-tax added. (Up to this point, they have processed ALL of their orders this way!)
Is there a way in Exchange to:
- make a checkout page custom field for the tax exemption number that conditionally displays only for Minnesota residents? (or a visible field for everyone that becomes required for MN residents)
- Then, once that Custom Field is displayed, can I make it required – that is, the order will not process without the number in that field
- if the custom field displays, and a number is entered, it would be great to validate it – I've asked for information from the client about the structure of the tax exemption number, but this is optional.
- IF the custom field displays (they are a Minnesota resident), and there is NO entry in the custom field, the customer is charged the sales tax.
- Or, if #4 is not possible (that is, that there is not a way to add the additional sales tax cost into the shopping cart items), that a message could be displayed that the order cannot be processed, and the customer should call the client's office to arrange for payment that includes sales tax over the phone
Should we use the Membership add-on to force customers to create an account with their state/residency + tax exempt number?
There has got to be a way to do this!