Adding the correct tax code to sales lines in Quickbooks Create and Invoice module

:bullseye: What is your goal?

Trying to fix Monday>Make>Quickbooks Create Invoice automation problem.

:thinking: What is the problem & what have you tried?

An error occurs as I am passing the wrong Taxcode information
I have queried the Company Tax Rate in Quickbooks and I get this:

{
“Name”: “0.0% Z”,
“Description”: “Zero-Rated”,
“Active”: true,
“Hidden”: false,
“Taxable”: true,
“TaxGroup”: true,
“SalesTaxRateList”: {
“TaxRateDetail”: [
{
“TaxRateRef”: {
“value”: “17”,
“name”: “ZS”
},
“TaxTypeApplicable”: “TaxOnAmount”,
“TaxOrder”: 0
}

I don’t know what value to map/pass to Quickbooks in the Make module - I have tried the name “0.0% Z”, the TaxRateRef value “17” and Name “ZS”

:clipboard: Error messages or input/output bundles

Hi I am getting this error - DataError
ValidationFault: A business validation error has occurred while processing your request (Business Validation Error: Make sure all your transactions have a VAT rate before you save.) - when creating an invoice from a Monday automation.

Hello @Robert_Groves and Welcome to the Make Community!

Can you please share some screenshots of how your module is configured? Please mask any sensitive information.

If you’re using a QuickBooks Create an Invoice module then you should just be able to select a Tax option from a predefined list of options.

Are you adding taxes at each line item or the invoice as a whole?

Hey @Donald_Mitchell

I hope you can see from the screenshots the following:

  1. I collate lines from the Monday invoice into an array then pass to the QB Create an Invoice Module

  2. Quickbooks is connected properly as the dropdown in the QB module shows

  3. I am trying to pass the text “0.0% Z” to the module - but this doesn’t seem to be what is expected.

Indeed, seeing the dropdown from connected QB ensures that the “0.0% Z” rate exists and is properly configured.

I suppose you set the aggregator’s output specifically to Create an Invoice’s structure.

Which field from the aggregator are you mapping in Create an Invoice? Is it inside the resulting Array? What is the value it receives when the error is generated? You can check it in the INPUT of the QB module.

If it’s “0.0% Z”, it’s probably a QB issue, rather than Make misconfiguration.

For example, ensure “0.0% Z” is valid for the transaction type you are saving.

@damato

Here in the Tax Code field

You cannot just map any value, it must be the internal ID of the tax code you are referencing.

Here in the QuickBooks create Invoice module

Select 0.0% Z then select Map and that will give you the underlying ID for that tax code. That’s the code that should be used in that field. Some are built-in, like “NON” or “Tax” and the value and ID are the same in those examples. Custom Tax Codes like you have will usually have a whole different underlying ID associated with them.

You have a couple options:

  1. Store the tax codes and their IDs in the external system (Monday) so that you can easily map the code in your array aggregator when building the line items, OR
  2. At the beginning of your scenario, Query for all the tax code options then use map() to look up the tax code ID from the description you do have. You’ll have to use QuickBooks Make an API call for this, but I just don’t know the endpoint off the top of my head.