Invoice is missing the "TotalAmt" field - intuit-partner-platform

We are using the Intuit API V2 to import Invoices from QuickBooks Online.
We expect the "TotalAmt" field to be present on all the invoices.
There are a couple of invoices that at one point in the past had the "TotalAmt" present but now the "TotalAmt" field is missing and the "Balance" is equal to 0.
Is this a bug or expected behavior?
Edit: this is one of the responses we got from the QuickBooks API (I changed only the indentation and replaced real data with 3 dots):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo" xmlns:qbp="http://www.intuit. com/sb/cdm/qbopayroll/v1">
<Id idDomain="QBO">36673</Id>
<SyncToken>1</SyncToken>
<MetaData>
<CreateTime>2013-04-10T15:24:03-07:00</CreateTime>
<LastUpdatedTime>2013-04-11T08:32:11-07:00</LastUpdatedTime>
</MetaData>
<Header>
<DocNumber>...</DocNumber>
<TxnDate>2013-04-10-07:00</TxnDate>
<Note>...</Note>
<CustomerId idDomain="QBO">464</CustomerId>
<ToBePrinted>true</ToBePrinted>
<ToBeEmailed>false</ToBeEmailed>
<SalesTermId idDomain="QBO">1</SalesTermId>
<DueDate>2013-04-10-07:00</DueDate>
<BillAddr>
<Line1>...</Line1>
<City>...</City>
<CountrySubDivisionCode>...</CountrySubDivisionCode>
<PostalCode>...</PostalCode>
<Tag>CUSTOMER</Tag>
</BillAddr>
<ShipAddr>
<Line1>...</Line1>
<City>...</City>
<CountrySubDivisionCode>...</CountrySubDivisionCode>
<PostalCode>...</PostalCode>
<Tag>CUSTOMER</Tag>
</ShipAddr>
<ShipMethodId idDomain="QBO"/>
<Balance>0.00</Balance>
<DiscountTaxable>true</DiscountTaxable>
</Header>
<Line>
<Desc>...</Desc>
<Taxable>false</Taxable>
<ItemId idDomain="QBO">5</ItemId>
<UnitPrice>450</UnitPrice>
<Qty>1</Qty>
</Line>
</Invoice>

<Balance>0.00</Balance>
It indicates the amount associated with that invoice is 0. In this case, response XML doesn't include any "TotalAmt" field.
There can be couple of cases where 'TotalAmt' doesn't get included.
1.
I had created an invoice with amount as 0. PFB that invoice record in QBO and the corresponding response XML.
<Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbp="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo">
<Id idDomain="QBO">50</Id>
<SyncToken>0</SyncToken>
<MetaData>
<CreateTime>2013-07-01T01:59:37-07:00</CreateTime>
<LastUpdatedTime>2013-07-01T01:59:37-07:00</LastUpdatedTime>
</MetaData>
<Header>
<DocNumber>1016</DocNumber>
<TxnDate>2013-07-01-07:00</TxnDate>
<CustomerId idDomain="QBO">6</CustomerId>
<ToBePrinted>false</ToBePrinted>
<ToBeEmailed>true</ToBeEmailed>
<SalesTermId idDomain="QBO">3</SalesTermId>
<DueDate>2013-07-31-07:00</DueDate>
<BillAddr>
<Line1>Park Avenue NY</Line1>
...
</BillAddr>
<ShipAddr>
<Line1>Park Avenue NY</Line1>
...
</ShipAddr>
<BillEmail>john_doe#digitalinsight.mint.com</BillEmail>
<ShipMethodId idDomain="QBO" />
<Balance>0.00</Balance>
<DiscountTaxable>true</DiscountTaxable>
</Header>
<Line>
<Desc>Beer HB</Desc>
<Taxable>true</Taxable>
<ItemId idDomain="QBO">4</ItemId>
</Line>
</Invoice>
2.
If you don't pass any value in the 'Amount' field of tag
or
If you skip that field altogether.
PFB sample request and response.
Request
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:ns2="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:ns3="http://www.intuit.com/sb/cdm/qbo">
<Header>
<Msg>Testing</Msg>
<CustomerId>6</CustomerId>
</Header>
<Line>
<Desc>Pens</Desc>
<Amount></Amount>
<Taxable>true</Taxable>
<ItemId>3</ItemId>
<UnitPrice>450</UnitPrice>
<Qty>1</Qty>
</Line>
</Invoice>
Response
<Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbp="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo">
<Id idDomain="QBO">57</Id>
<SyncToken>0</SyncToken>
<MetaData>
<CreateTime>2013-07-01T02:48:48-07:00</CreateTime>
<LastUpdatedTime>2013-07-01T02:48:48-07:00</LastUpdatedTime>
</MetaData>
<Header>
<DocNumber>1022</DocNumber>
<TxnDate>2013-07-01-07:00</TxnDate>
<Msg>Testing</Msg>
<CustomerId idDomain="QBO">6</CustomerId>
<ToBePrinted>false</ToBePrinted>
<ToBeEmailed>false</ToBeEmailed>
<DueDate>2013-07-01-07:00</DueDate>
<BillAddr>
<Line1>Park Avenue NY</Line1>
...
</BillAddr>
<ShipAddr>
<Line1>Park Avenue NY</Line1>
...
</ShipAddr>
<ShipMethodId idDomain="QBO" />
<Balance>0.00</Balance>
<DiscountTaxable>true</DiscountTaxable>
</Header>
<Line>
<Desc>Pens</Desc>
<Taxable>true</Taxable>
<ItemId idDomain="QBO">3</ItemId>
<UnitPrice>450</UnitPrice>
<Qty>1</Qty>
</Line>
</Invoice>
I guess, the second one is applicable in your case.
Please let me know if it answers your qts.
Thanks

It looks like the Amount in the Line is not being set. The Amount is a required field that needs to be set. Here is the doc: https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0400_quickbooks_online/invoice
The total amount field will be calculated
thanks
Jarred

Related

QPlace a pnr to multiple Sabre queues in one step

I would like to QPlace a named pnr onto multiple queues.
The documentation for QueuePlaceLLSRQ_v2.0.4 seems to indicate that this is possible by repeating QueueIdentifier element but I always get errors
<QueueInfo>
<!--Mandatory-->
<!--Repeat Factor=0-3-->
...
<QueueIdentifier PseudoCityCode="IPCC1" PrefatoryInstructionCode="11" Number="400" Name="ABC123"/>
REQUEST AND RESPONSE 1:
<QueuePlaceRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.0.4">
<QueueInfo>
<QueueIdentifier PseudoCityCode="7Q9I" PrefatoryInstructionCode="11" Number="204" />
<QueueIdentifier PseudoCityCode="7Q9I" PrefatoryInstructionCode="11" Number="205" />
<UniqueID ID="CIATDK" />
</QueueInfo>
</QueuePlaceRQ>
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2020-02-06T05:02:09-06:00">
<stl:SystemSpecificResults>
<stl:Message>INVALID FORMAT</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
REQUEST AND RESPONSE 2:
<QueuePlaceRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.0.4">
<QueueInfo>
<QueueIdentifier PseudoCityCode="7Q9I" PrefatoryInstructionCode="11" Number="204" />
<UniqueID ID="ESVDGN" />
<QueueIdentifier PseudoCityCode="7Q9I" PrefatoryInstructionCode="11" Number="205" />
<UniqueID ID="ESVDGN" />
</QueueInfo>
</QueuePlaceRQ>
<stl:SystemSpecificResults>
<stl:Message>cvc-complex-type.2.4.a: Invalid content was found starting with element 'QueueIdentifier'. One of '{"http://webservices.sabre.com/sabreXML/2011/10":UniqueID}' is expected.</stl:Message>
<stl:ShortText>ERR.SWS.CLIENT.VALIDATION_FAILED</stl:ShortText>
</stl:SystemSpecificResults>
REQUEST & RESPONSE 3 (seems to be on-queue only, cannot use named pnr):
<QueuePlaceRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://webservices.sabre.com/sabreXML/2011/10" Version="2.0.4">
<MultiQueuePlace>
<QueueIdentifier PseudoCityCode="7Q9I" PrefatoryInstructionCode="35" Number="205" />
<QueueIdentifier PseudoCityCode="7Q9I" PrefatoryInstructionCode="35" Number="206" />
</MultiQueuePlace>
</QueuePlaceRQ>
<stl:Error type="BusinessLogic" timeStamp="2020-02-06T05:09:53-06:00">
<stl:SystemSpecificResults>
<stl:Message>NO PNR IN AAA</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
The correct method is in the question as "REQUEST & RESPONSE 3", but you must have a pnr in your workarea. If you also wish the pnr to remain on the current queue, you should add the current queue as a destination.
<QueuePlaceRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://webservices.sabre.com/sabreXML/2011/10" Version="2.0.4">
<MultiQueuePlace>
<QueueIdentifier PseudoCityCode="7Q9I" PrefatoryInstructionCode="35" Number="205" />
<QueueIdentifier PseudoCityCode="7Q9I" PrefatoryInstructionCode="35" Number="206" />
</MultiQueuePlace>
</QueuePlaceRQ>

Sabre get hotels availability by just address SOAP API

i'm trying to request hotel availability (OTA_HotelAvailRQ) by just address
for example :
<OTA_HotelAvailRQ Version="2.3.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AvailRequestSegment>
<Customer>
<Corporate>
<ID>ABC123</ID>
</Corporate>
</Customer>
<GuestCounts Count="2"/>
<HotelSearchCriteria>
<Criterion>
<Address>
<CityName>SOUTHLAKE</CityName>
<CountryCode>US</CountryCode>
</Address>
</Criterion>
</HotelSearchCriteria>
<TimeSpan End="10-24" Start="10-22" />
</AvailRequestSegment>
</OTA_HotelAvailRQ>
and there is no way i get results in the response, i keep receiving:
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Header><eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1"><eb:From><eb:PartyId eb:type="urn:x12.org:IO5:01">ws</eb:PartyId></eb:From><eb:To><eb:PartyId eb:type="urn:x12.org:IO5:01">from</eb:PartyId></eb:To><eb:CPAId>3IHI</eb:CPAId><eb:ConversationId>998</eb:ConversationId><eb:Service eb:type="sabreXML">256444039988570150</eb:Service><eb:Action>OTA_HotelAvailLLSRS</eb:Action><eb:MessageData><eb:MessageId>1090003241665830150</eb:MessageId><eb:Timestamp>2017-08-31T06:42:46</eb:Timestamp></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"><wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3237679358254869625!1952915!0</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><OTA_HotelAvailRS xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http://services.sabre.com/STL/v01" Version="2.3.0">
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2017-08-31T01:42:46-05:00">
<stl:SystemSpecificResults>
<stl:Message code="0">NO AVAIL</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
i tried with the example in the sabre page by HotelCode and it worked, but i need to request it by just address, what should be the request design then? thank you
That fake corporate ID is not helping. You'd also need the city code.
Try with something like this:
<OTA_HotelAvailRQ Version="2.3.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ReturnHostCommand="true">
<AvailRequestSegment>
<GuestCounts Count="2"/>
<HotelSearchCriteria>
<Criterion>
<Address>
<CityName>SOUTH LAKE</CityName>
<CountryCode>US</CountryCode>
</Address>
<HotelRef HotelCityCode="TVL"/>
</Criterion>
</HotelSearchCriteria>
<TimeSpan End="10-24" Start="10-22" />
</AvailRequestSegment>
</OTA_HotelAvailRQ>
Note the space in South Lake
If you need to get the city code from the city name, you can use EncodeDecodeLLSRQ:
<EncodeDecodeRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.0.0">
<Encode>
<Address>
<CityName>south lake</CityName>
</Address>
</Encode>
</EncodeDecodeRQ>
<EncodeDecodeRS xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http://services.sabre.com/STL/v01" Version="2.0.0">
<stl:ApplicationResults status="Complete">
<stl:Success timeStamp="2017-09-05T11:35:59-05:00"/>
</stl:ApplicationResults>
<Text>TVL SOUTH LAKE TAHOE, CALIFORNIA,USA</Text>
</EncodeDecodeRS>

IPP QBO v3 UK - trouble adding invoice

The following code was working a few weeks ago but now I get an error message. Any ideas? Note this is QuickBooks Online United Kingdom edition.
I'm adding additional information here so that I can save the form. Without adding this additional information I am unable to post this question.
<outgoing><?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://schema.intuit.com/finance/v3">
<CustomerId>1</CustomerId>
<CustomerRef>1</CustomerRef>
<SalesTermRef>3</SalesTermRef>
<DocNumber>101</DocNumber>
<CustomerMemo>Thank you for your order!</CustomerMemo>
<TxnDate>2014-03-05</TxnDate>
<PrivateNote>Special Handling</PrivateNote>
<BillEmail>
<Address>janice#johnson.com</Address>
</BillEmail>
<PrintStatus>NotSet</PrintStatus>
<EmailStatus>NeedToSend</EmailStatus>
<ApplyTaxAfterDiscount></ApplyTaxAfterDiscount>
<ShipDate>2014-03-05</ShipDate>
<TrackingNum>1Z9999W99999999999</TrackingNum>
<BillAddr>
<Line1>110 Main Street</Line1>
<Line2>Suite 2000</Line2>
<Line3></Line3>
<Line4></Line4>
<City>Dallas</City>
<CountrySubDivisionCode>TX</CountrySubDivisionCode>
<PostalCode>99875</PostalCode>
<Country></Country>
</BillAddr>
<ShipAddr>
<Line1>110 Main Street</Line1>
<Line2>Suite 2000</Line2>
<Line3></Line3>
<Line4></Line4>
<City>Dallas</City>
<CountrySubDivisionCode>TX</CountrySubDivisionCode>
<PostalCode>99875</PostalCode>
<Country></Country>
</ShipAddr>
<Line>
<Description>Blue MP3 Player</Description>
<Amount>110.00</Amount>
<DetailType>SalesItemLineDetail</DetailType>
<SalesItemLineDetail>
<ItemRef>3</ItemRef>
<Qty>2</Qty>
<UnitPrice>55</UnitPrice>
<TaxCodeRef>3</TaxCodeRef>
</SalesItemLineDetail>
</Line>
<Line>
<Description></Description>
<Amount></Amount>
<DetailType>DiscountLineDetail</DetailType>
<DiscountLineDetail>
<PercentBased>true</PercentBased>
<DiscountPercent>0.0200</DiscountPercent>
</DiscountLineDetail>
</Line>
<Line>
<Description></Description>
<Amount>12.00</Amount>
<DetailType>SalesItemLineDetail</DetailType>
<SalesItemLineDetail>
<ItemRef>SHIPPING_ITEM_ID</ItemRef>
<Qty></Qty>
<UnitPrice></UnitPrice>
<TaxCodeRef>3</TaxCodeRef>
</SalesItemLineDetail>
</Line>
</Invoice>
</outgoing>
<returns><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-04-17T11:42:01.411-07:00">
<Fault type="ValidationFault">
<Error code="6440" element="">
<Message>Transaction Detail Information Required</Message>
<Detail>You must select a product/service or an account for each split line with either an amount or a billable customer.</Detail>
</Error>
</Fault>
</IntuitResponse>
</returns>
Found the answer. In QBO preferences I had to enable shipping.

IPP QBO UK v3 - Trouble adding Journal Entry with TaxCodeRef

Trying to get a journal entry to save in QBO UK using TaxCodeRef but keep getting the same error message back. I have set the TaxApplicableOn correctly. I did a query of a manually entered journal entry and it shows the element TaxAmount however I don't know this value at runtime. How can I get a journal entry to save when setting a TaxCodeRef?
Here's my XML request and response.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<outgoing><?xml version="1.0" encoding="UTF-8"?>
<JournalEntry xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://schema.intuit.com/finance/v3">
<TxnDate>2014-03-05</TxnDate>
<PrivateNote>Invoice</PrivateNote>
<DocNumber>102</DocNumber>
<Adjustment>false</Adjustment>
<Line>
<Desc>Credit Sales</Desc>
<Amount>150</Amount>
<DetailType>JournalEntryLineDetail</DetailType>
<JournalEntryLineDetail>
<PostingType>Credit</PostingType>
<AccountRef>1</AccountRef>
<ClassRef></ClassRef>
<DepartmentRef></DepartmentRef>
<BillableStatus></BillableStatus>
<TaxCodeRef>3</TaxCodeRef>
<TaxApplicableOn>Credit</TaxApplicableOn>
</JournalEntryLineDetail>
</Line>
<Line>
<Desc>Debit Accounts Receivable</Desc>
<Amount>150.00</Amount>
<DetailType>JournalEntryLineDetail</DetailType>
<JournalEntryLineDetail>
<PostingType>Debit</PostingType>
<Entity>
<Type>Customer</Type>
<EntityRef>21</EntityRef>
</Entity>
<AccountRef>52</AccountRef>
<ClassRef></ClassRef>
<DepartmentRef></DepartmentRef>
<BillableStatus></BillableStatus>
<TaxCodeRef>3</TaxCodeRef>
<TaxApplicableOn>Debit</TaxApplicableOn>
</JournalEntryLineDetail>
</Line>
</JournalEntry>
</outgoing>
<returns><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-03-17T07:21:39.545-07:00">
<Fault type="ValidationFault">
<Error code="2270" element="TaxApplicableOn">
<Message>TaxApplicableon missing or invalid</Message>
<Detail>TaxApplicableOn null is required and valid values are Credit or Debit</Detail>
</Error>
<Error code="2270" element="TaxApplicableOn">
<Message>TaxApplicableon missing or invalid</Message>
<Detail>TaxApplicableOn null is required and valid values are Credit or Debit</Detail>
</Error>
</Fault>
</IntuitResponse>
</returns>
I created a Journal Entry from QBO UI and selected Sales Check box on the line item.
Here is the response.
Looks like the error message is wrong. Valid value is Sales or Purchase(if Sales box is not selected). Let me get some more details around this.
<JournalEntry domain="QBO" sparse="false">
<Id>29</Id>
<SyncToken>0</SyncToken>
<MetaData>
<CreateTime>2014-03-17T22:29:18-07:00</CreateTime>
<LastUpdatedTime>2014-03-17T22:29:18-07:00</LastUpdatedTime>
</MetaData>
<DocNumber>DocNu2</DocNumber>
<TxnDate>2014-03-18</TxnDate>
<CurrencyRef name="British Pound Sterling">GBP</CurrencyRef>
<ExchangeRate>1</ExchangeRate>
<Line>
<Id>0</Id>
<Description>ff</Description>
<Amount>24.00</Amount>
<DetailType>JournalEntryLineDetail</DetailType>
<JournalEntryLineDetail>
<PostingType>Debit</PostingType>
<Entity>
<Type>Customer</Type>
<EntityRef name="toto">1</EntityRef>
</Entity>
<AccountRef name="Debtors">50</AccountRef>
<TaxCodeRef>3</TaxCodeRef>
<TaxApplicableOn>Sales</TaxApplicableOn>
<TaxAmount>4.80</TaxAmount>
</JournalEntryLineDetail>
</Line>
<Line>
<Id>1</Id>
<Description>ff</Description>
<Amount>28.80</Amount>
<DetailType>JournalEntryLineDetail</DetailType>
<JournalEntryLineDetail>
<PostingType>Credit</PostingType>
<Entity>
<Type>Customer</Type>
<EntityRef name="toto">1</EntityRef>
</Entity>
<AccountRef name="Savings">59</AccountRef>
<TaxCodeRef>9</TaxCodeRef>
<TaxApplicableOn>Sales</TaxApplicableOn>
<TaxAmount>0.00</TaxAmount>
</JournalEntryLineDetail>
</Line>
<TxnTaxDetail>
<TaxLine>
<Amount>4.80</Amount>
<DetailType>TaxLineDetail</DetailType>
<TaxLineDetail>
<TaxRateRef>4</TaxRateRef>
<PercentBased>true</PercentBased>
<TaxPercent>20</TaxPercent>
<NetAmountTaxable>24.00</NetAmountTaxable>
</TaxLineDetail>
</TaxLine>
<TaxLine>
<Amount>0</Amount>
<DetailType>TaxLineDetail</DetailType>
<TaxLineDetail>
<TaxRateRef>15</TaxRateRef>
<PercentBased>true</PercentBased>
<TaxPercent>0</TaxPercent>
<NetAmountTaxable>-28.80</NetAmountTaxable>
</TaxLineDetail>
</TaxLine>
</TxnTaxDetail>
<Adjustment>false</Adjustment>
</JournalEntry>
I see that the docs here-
https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/030_entity_services_reference/journalentry
mention that it is a type of TaxApplicableOnEnum which has valid values as sales or purchase.

IPP Taxable Line

Using the C# API for QuickBooks Desktop, how do I mark lines as taxable? Here is my code:
InvoiceLine qboInvoiceLine = new InvoiceLine();
qboInvoiceLine.Amount = order.ShippingExclTax;
qboInvoiceLine.AmountSpecified = true;
qboInvoiceLine.Taxable = false;
qboInvoiceLine.TaxableSpecified = false;
My XML fails to specify the taxable element:
<?xml version="1.0" encoding="utf-8"?>
<Add xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" RequestId="8313fa49e42f432cacfcade7b0787a7a" FullResponse="true" xmlns="http://www.intuit.com/sb/cdm/v2"><ExternalRealmId>310582310</ExternalRealmId>
<Object xsi:type="Invoice">
<Header>
<DocNumber>1</DocNumber>
<TxnDate>2013-05-18T17:54:52.668263-04:00</TxnDate>
<CustomerName>Web Store</CustomerName>
<ShipAddr>
<Line1>John Smith</Line1>
<Line2>21 West 52nd Street</Line2>
<Line3 />
<City>New York</City>
<Country>United States</Country>
<CountrySubDivisionCode>New York</CountrySubDivisionCode>
<PostalCode>10021</PostalCode>
</ShipAddr>
<DiscountAmt>0</DiscountAmt>
</Header>
<Line>
<Amount>1.0000</Amount>
<ItemName>TestShoe123</ItemName>
<UnitPrice>1.0000</UnitPrice>
<Qty>1</Qty>
</Line>
<Line>
<Amount>0.0000</Amount>
<ItemName>In-Store Pickup</ItemName>
<UnitPrice>0.0000</UnitPrice>
<Qty>1</Qty>
</Line>
I needed to assign SalesTaxCodeName to "Tax" or "Non", instead of Taxable as true or false.