January 15, 201213 yr So, I have attached a very ugly proof of concept for Quickbooks 2012 Mac integration with FM 11. Ultimately, I would like to be using something like this to create invoices on my ipod touch and exporting those invoices straight to QB. No extra data entry! Yay! It uses no plugins. It is all done with Global Fields, Applescript (launched from within FM) and Import XML/XSL. At the moment will only pull the customers from an open QB 2012 company file and import them into a table in FM. Be warned, it creates 2 temporary files in the /Users/Shared folder and removes them (assuming the clearFlag is set) when complete. Also, the during the first import, you will have to point to the temporary XML and XSL files. Your mileage may vary. Backup before using. Use at your own risk... yada, yada, yada... QBxml.fp7.zip
January 17, 201213 yr Author OK... I have added some files to the Customer table and updated the FMxsl stylesheet. <?xml version='1.0' encoding='utf-8'?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output version="1.0" encoding="UTF-8" indent="no" method="xml"/> <xsl:template match="/"> <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> <ERRORCODE>0</ERRORCODE> <PRODUCT BUILD="" NAME="" VERSION=""/> <DATABASE DATEFORMAT="M/d/yyyy" RECORDS="" LAYOUT="" NAME="" TIMEFORMAT="h:mm:ss a"/> <METADATA> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="ListID" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Name" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="FullName" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="BillAddressBlock" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="ShipAddressBlock" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Email" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Phone" TYPE="TEXT"/> </METADATA> <RESULTSET FOUND=""> <xsl:for-each select="QBXML/QBXMLMsgsRq/CustomerQueryRs/CustomerRet"> <ROW MODID="" RECORDID=""> <COL> <DATA> <xsl:value-of select="ListID"/> </DATA> </COL> <COL> <DATA> <xsl:value-of select="Name"/> </DATA> </COL> <COL> <DATA> <xsl:value-of select="FullName"/> </DATA> </COL> <COL> <DATA> <xsl:for-each select="BillAddressBlock/*"> <xsl:value-of select="."/> <xsl:text> </xsl:text> </xsl:for-each> </DATA> </COL> <COL> <DATA> <xsl:for-each select="ShipAddressBlock/*"> <xsl:value-of select="."/> <xsl:text> </xsl:text> </xsl:for-each> </DATA> </COL> <COL> <DATA> <xsl:value-of select="Email"/> </DATA> </COL> <COL> <DATA> <xsl:value-of select="Phone"/> </DATA> </COL> </ROW> </xsl:for-each> </RESULTSET> </FMPXMLRESULT> </xsl:template> </xsl:stylesheet>
Create an account or sign in to comment