views:

328

answers:

5

We use QuickBooks for financial management, and feed it from a variety of sources. I now need to hook it up to BizTalk, and I'd hate to reinvent the wheel. I've done searches, and as far as I can tell there's no QuickBooks adapter for BizTalk. Does anyone know of anything that'll do the job, preferably something that doesn't suck?

+1  A: 

Quickbooks talks .NET quite easily. You'll need the QuickBooks SDK 7.0 and a copy of Visual Studio.NET, but after that it's very easy to do anything with Quickbooks.

Imports QBFC7Lib

Sub AttachToDB()
    If isAttachedtoQB Then Exit Sub

    Lasterror = "Unknown QuickBooks Error"
    Try
        QbSession = New QBSessionManager
        QbSession.OpenConnection("", "Your Company Name")
        QbSession.BeginSession("", ENOpenMode.omDontCare)
        MsgReq = QbSession.CreateMsgSetRequest("UK", 6, 0)
        MsgReq.Attributes.OnError = ENRqOnError.roeStop

        Lasterror = ""
        isAttachedtoQB = True
    Catch e As Exception
        If Not QbSession Is Nothing Then
            QbSession.CloseConnection()
            QbSession = Nothing
        End If
        isAttachedtoQB = False
        Lasterror = "QuickBooks Connection Error. - " + e.Message + "."
    End Try
End Sub

See http://developer.intuit.com/ for more information.

seanyboy
A: 

Doesn't the QB SDK require that Quickbooks be running on the client machine? Is there any way around it?

Danimal
A: 

Unfortunately it does. It also asks you to authorise any application you've built. (at least once.)

I don't know any way around it.

seanyboy
+1  A: 

If you do build the integration code using .NET, you may want to consider leveraging the WCF Line-of-Business SDK:

http://www.microsoft.com/biztalk/technologies/wcflobadaptersdk.mspx

It's not a BizTalk-only technology, despite its categorization. The SDK is designed to make it easier to create a WCF channel to a LOB application, which can be consumed from almost any other platform.

Chris Romp
A: 

The QB SDK does not require that QuickBooks be running on the client machine. It does require that QuickBooks is installed on the client machine. You can access QuickBooks company files even if QuickBooks is not running though.

Have a look through the SDK docs. Additionally, when QuickBooks first prompts you to authorize the application, you need to make sure to tell it to allow access to the company file, even when QuickBooks isn't open/the company file isn't open.

Keith Palmer