Can't send invoice date or PO number on invoice to QB - intuit-partner-platform

I have a working QBXML interface but I can't seem to add a couple of
data items to an invoice upload (to QB). I am trying to add the
Invoice Date and P.O. Number.
The error QB is returning is:
QuickBooks found an error when parsing the provided XML text stream.
In an effort to make sure I am using
the correct XML format I did a transfer in the opposite directions
(from QB) in order to see what it is sending.
When sending an invoice to QB I have added the two following XML
elements (which cause the problem):
<TxnDate>2013-04-02</TxnDate>
and
<PONumber>ABC123</PONumber>
Either or both create the error. If I omit both it works.
For example, the following works:
<?xml version="1.0" ?><?qbxml version="10.0"?><QBXML><QBXMLMsgsRq onError = "stopOnError"><InvoiceAddRq requestID = "1"><InvoiceAdd><CustomerRef><ListID>800000D1-1371755142</ListID></CustomerRef><RefNumber>0071010001P</RefNumber><Memo></Memo><InvoiceLineAdd><ItemRef><ListID>80000001-1288815007</ListID></ItemRef><Desc>Software License Fee as per 6/19/07 Licensing Agreement</Desc><Quantity>1.00</Quantity><Rate>4000.0000</Rate></InvoiceLineAdd><InvoiceLineAdd><ItemRef><ListID>80000001-1288815007</ListID></ItemRef><Desc>Consulting hours as per 7/16/07 Large Contract for Consulting Services</Desc><Quantity>50.00</Quantity><Rate>100.0000</Rate></InvoiceLineAdd></InvoiceAdd></InvoiceAddRq> </QBXMLMsgsRq></QBXML>
but the following doesn't work:
<?xml version="1.0" ?><?qbxml version="10.0"?><QBXML><QBXMLMsgsRq onError = "stopOnError"><InvoiceAddRq requestID = "1"><InvoiceAdd><CustomerRef><ListID>800000D1-1371755142</ListID></CustomerRef><RefNumber>0071010001P</RefNumber><Memo></Memo><TxnDate>2013-04-02</TxnDate><InvoiceLineAdd><ItemRef><ListID>80000001-1288815007</ListID></ItemRef><Desc>Software License Fee as per 6/19/07 Licensing Agreement</Desc><Quantity>1.00</Quantity><Rate>4000.0000</Rate></InvoiceLineAdd><InvoiceLineAdd><ItemRef><ListID>80000001-1288815007</ListID></ItemRef><Desc>Consulting hours as per 7/16/07 Large Contract for Consulting Services</Desc><Quantity>50.00</Quantity><Rate>100.0000</Rate></InvoiceLineAdd></InvoiceAdd></InvoiceAddRq> </QBXMLMsgsRq></QBXML>
and the following doesn't work:
<?xml version="1.0" ?><?qbxml version="10.0"?><QBXML><QBXMLMsgsRq onError = "stopOnError"><InvoiceAddRq requestID = "1"><InvoiceAdd><CustomerRef><ListID>800000D1-1371755142</ListID></CustomerRef><RefNumber>0071010001P</RefNumber><Memo></Memo><PONumber >ABC123</PONumber><InvoiceLineAdd><ItemRef><ListID>80000001-1288815007</ListID></ItemRef><Desc>Software License Fee as per 6/19/07 Licensing Agreement</Desc><Quantity>1.00</Quantity><Rate>4000.0000</Rate></InvoiceLineAdd><InvoiceLineAdd><ItemRef><ListID>80000001-1288815007</ListID></ItemRef><Desc>Consulting hours as per 7/16/07 Large Contract for Consulting Services</Desc><Quantity>50.00</Quantity><Rate>100.0000</Rate></InvoiceLineAdd></InvoiceAdd></InvoiceAddRq> </QBXMLMsgsRq></QBXML>
I have spend at least 30 hours on this. I am at a total loss of more ideas. Any help would be appreciated.
Blake McBride

The order of the tags you submit is important.
That means that if the QuickBooks OSR tells you that the correct order of tags is:
TxnDate
RefNumber
PONumber
Memo
Then you must send the tags in that order. Any other order will not work.
Your examples have tags in this order: (Memo before TxnDate)
RefNumber
Memo
TxnDate
And this order: (Memo before PONumber)
RefNumber
Memo
PONumber
Neither of which is correct.
If you re-order your tags, it will work.
Relevant QuickBooks development FAQ entry over here. Also, make sure you check out the XML Validator tool included with the QuickBooks SDK (it will tell you if your tags are out of order).
The QuickBooks OSR will show you the correct tag order.

Related

yahoo finance quotes API and historical data API

The yahoo finance quotes API(http://download.finance.yahoo.com/d/quotes.csv?) provides access to a number of features associated with a company for the current year
(Sector Price
Dividend Yield
Price/Earnings
Earnings/Share
Book Value
52 week low
52 week high
Market Cap
EBITDA
Price/Sales
Price/Book).
The yahoo finance historicaldata api (http://ichart.finance.yahoo.com/table.csv?) provides only the following information for a company for a period specificed (start YYMMDD, end YYMMDD)
> "Open": "15.32",
> "High": "15.35",
> "Low": "15.13",
> "Close": "15.24",
> "Volume": "20126900",
> "Adj_Close": "15.24"
How can I get historical data for Dividend Yield,Price/Earnings, Earnings/Share associated with a company? (because right now I can only get information related to the current year using the finance.quotes API and I cannot get historical data associated with these features)
In order get historical dividends you can add "g=v" to your query as follows
http://ichart.finance.yahoo.com/table.csv?s=MSFT&g=v
This will give you the following fields
Date
Dividends
I would credit where I found this information but I do not remember where I got it. Even as I search other sites I cannot find details on this API at all.
It's going to be difficult to find the data you require for free. This is why people who provide financial data, like Michael Bloomberg, are billionaires.
One option you could try is Quandl. I successfully used their Wiki Stock db as a backup for the Yahoo historical data api, as well as the primary source for some hard-to-find indices. You might be able to calculate some of the data you require from their free databases.
You can look at
https://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select+*+from+yahoo.finance.historicaldata+where+symbol+%3D+%22YHOO%22+and+startDate+%3D+%222009-09-11%22+and+endDate+%3D+%222010-03-10%22
For anyone who's interested: heres how to download data from eodhistoricaldata.com:
https://eodhistoricaldata.com/api/eod/AAPL.US?from=2017-01-05&to=2017-02-10&api_token=OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX&period=d
Call the url with the following parameters:
*eod: 'end of day' this Is only one of many possibilities for download. check their site for the complete list
*AAPL.US: the stock in question
* from and to: the from and to date
*api_token: a token for your account
The result is a csv file, which can be handeled in for instance c# using this example: download csv

How do I include report parameters in an SSRS subscription's subject line?

I have a report that displays data for a specified date. The report runs daily and emails a copy to the recipients. The default subject for the email is "#ReportName was executed at #ExecutionTime." Rather than include the execution date, I want to include the date of the report data, which is available in a parameter called #date.
How can I include a report parameter's value in the subject line of the subscription email?
I'd recommend looking into data-driven subscriptions. Basically they allow you to write a query to set your parameter value(s) and define additional columns that can be used for subject line, message body, etc. Here's one helpful resource:
Data-driven subscriptions in SSRS 2008 R2, which includes some additional info to keep in mind when using data-driven subscriptions
Also, I should point out that data-driven subscriptions are only available on certain versions of SQL Server (Evaluation, Developer, Enterprise).
Including the values of report parameters in the subject line of an email subscription does not appear to be possible with SSRS. Data-driven subscriptions allow you to build the subject line dynamically at run-time, but it does not let you query and insert the parameters into the subject line. From what I can tell, this is just not possible.
It should be possible by not using subscriptions, but e.g. from SSIS to
* render the SSRS report and save e.g. as html file,
* create an e-mail and put the file from the report either into the body or as attachment,
* and set the e-mail subject. This bears again the challenge to read out a value or parameter from the rendered report, where I presently don't have an answer. But here you have all means including .net available, so should be possible.
Mike
The parameter values are found in the Parameters field of the dbo.Subscriptions table in the ReportServer database. If you update the ExtensionSettings field's subject section with values from the Parameters field, you can achieve this without purchasing the enterprise license. Just remember that ExtensionSettings is ntext so you will need to CAST to NVARCHAR(MAX) to do your REPLACE() statement.

Magento displays "Sorry, no quotes are available for this order at this time" when the postal code have letters

i run a Magento CE Shop v1.7.0.2.
When customers trying to checkout with letters in the postal code (like netherlands) they getting: "Sorry, no quotes are available for this order at this time"
Without letters and whitespace there is no problem.
The other posts about this problem are about things with ups, fedEx etc... i dont have something active like this.
I only got multi tablerates and tablerates active. All countries allowed.
can someone explain to me where i can fix this? for the first time a temporary change on core classes would be ok till i get a reasonable solution.
I try to ask another way:
Where does magento decide which qotes available?
Export the tablerates.csv file in System Config > Sales > Shipping methods > Table rates. For the Netherlands the format should be like this (unless you use weight or size as well):
NLD,*,,0.0000,10.0000
NLD,*,,80.0000,0.0000
In this example you get free shipping from 80 euros up, and below that you have to pay 10 euros for shipping. For province the setting should be *, for postcode nothing between the commas. If you use a range for the postcode, that might explain your problem.

Export data from datafile to excel format

Background:
Our company uses Sage Line 50 as our accounting software. We generate all of our Sales Orders from this program. We also use MS Access 2010 to store order information and generate our internal shop paperwork and packing slips.
The Problem:
Data entry redundancy. We enter information from Customer Purchase Orders into our Sage software, and then enter the same information into the Access database.
What I am looking for:
A solution that will let me export raw Sales Order data after creating in Sage into MS-Access
What I have tried:
The export process from Sage only allows CSV exports, and is a manual process that cannot be automated at all. I am able to produce this export and then run an append query that will import that data into the Access data, but I am looking to automate this process, perhaps on a daily basis. I have looked into using Crystal Reports (packaged with Sage, which I am told can run automated reports and save in an MS Excel format), but I do not know how to navigate the data files to find the specific sales data I am looking for.
The guys are correct - easiest way to do this would be to use the ODBC driver, however, you must run the correct SQL query and ensure you join the Purchase Order table to the Order item table using the correct fields or it will not return the right data.
One issue you will have is that you only want to pull through the most recent transactions so use a query like this to do that your query would look something like this:-
SELECT *, PURCHASE_LEDGER.ACCOUNT_REF, PURCHASE_LEDGER.E_MAIL FROM PURCHASE_ORDER, PURCHASE_LEDGER INNER JOIN POP_ITEM ON PURCHASE_ORDER.ORDER_NUMBER = POP_ITEM.ORDER_NUMBER WHERE PURCHASE_LEDGER.ACCOUNT_REF = PURCHASE_ORDER.ACCOUNT_REF AND RECORD_MODIFY_DATE >= '2013-04-03 00:00:00'
Alternatively there are many one-click commercial solutions to this problem - do a search on Google for "Sage Integration" and you'll find various suppliers who produce products that will do this for you
What you are trying to do can be automated as I've done it for the last company that I worked for (exporting sales orders and invoices to CSV and to Excel). However, the downer is that it requires the Sage SDK which costs £1500.

Is it possible to override the tax calculated by Quickbooks Desktop when using IDS to POST an Invoice?

We are integrating our order management application with Quickbooks Desktop using IDS. We are finding that the tax calculated by our application is different by a few pennies to the tax calculated by Quickbooks. Is there any way to override the tax calculated by Quickbooks when we do an Invoice POST?
Normally, you would set the items as non-taxable and then add a line item that references the tax item and you can set the amount when added. However, it looks like IDS is NOT writing back the Taxable field in v2 (Cannot be written to QuickBooks.)
You should be able to change the tax code on the item to no-tax and then use the TaxLine to add the tax at the value you want.
William