49,778 Members
3 added today
333,019 Resources
430 added today

All Devdex   All Gurus  

QuickBooks IIF File Format Code
Author: James W. Hall Sr.
Rating: Rate this Resource
Visits: 19992

Discuss in Newsgroups

No matter where I looked for a Quickbooks IIF code example, I could not find one.  I completed this code and tested it.  The following code writes out to a bill.iif and invoice.iif file.  The variables are queried from an Access database.  The import works!  Have fun importing.

Public Sub qbImport()
Dim fname As String
Dim qbtranheader As String
Dim qbsplheader As String
Dim qbendtranhdr As String
Dim qbtran As String
Dim qbspl As String
Dim qbendtran As String

fname = "c:\bill.iif"

Dim FSO As New FileSystemObject
Dim FSTR As Scripting.TextStream
On Error Resume Next
Set FSTR = FSO.OpenTextFile(fname, ForWriting, Not FSO.FileExists(fname))
'Create bill header
qbtranheader = "!TRNS" & vbTab & "TRNSID" & vbTab & "TRNSTYPE" & vbTab & "DATE" & vbTab
qbtranheader = qbtranheader & "ACCNT" & vbTab & "NAME" & vbTab & "CLASS" & vbTab & "AMOUNT" & vbTab
qbtranheader = qbtranheader & "DOCNUM" & vbTab & "MEMO" & vbTab & "CLEAR" & vbTab & "TOPRINT" & vbTab
qbtranheader = qbtranheader & "ADDR5" & vbTab & "DUEDATE" & vbTab & "TERMS"
qbsplheader = "!SPL" & vbTab & "SPLID" & vbTab & "TRNSTYPE" & vbTab & "DATE" & vbTab
qbsplheader = qbsplheader & "ACCNT" & vbTab & "NAME" & vbTab & "CLASS" & vbTab & "AMOUNT" & vbTab
qbsplheader = qbsplheader & "DOCNUM" & vbTab & "MEMO" & vbTab & "CLEAR" & vbTab & "QNTY" & vbTab
qbsplheader = qbsplheader & "REIMBEXP" & vbTab & "SERVICEDATE" & vbTab & "OTHER2"
qbendtranhdr = "!ENDTRNS"
qbendtran = "ENDTRNS"

FSTR.Write qbtranheader & vbNewLine
FSTR.Write qbsplheader & vbNewLine
FSTR.Write qbendtranhdr & vbNewLine
'end create bill header line
'Writing the invoice record to invoice.iif
Dim fname1 As String
Dim qbtranheader1 As String
Dim qbsplheader1 As String
Dim qbendtranhdr1 As String
Dim qbtran1 As String
Dim qbspl1 As String
Dim qbsp2 As String
Dim qbendtran1 As String

fname1 = "c:\invoice.iif"

Dim FSO1 As New FileSystemObject
Dim FSTR1 As Scripting.TextStream
On Error Resume Next
Set FSTR1 = FSO1.OpenTextFile(fname1, ForWriting, Not FSO1.FileExists(fname1))
'Create invoice header
qbtranheader1 = "!TRNS" & vbTab & "TRNSID" & vbTab & "TRNSTYPE" & vbTab & "DATE" & vbTab
qbtranheader1 = qbtranheader1 & "ACCNT" & vbTab & "NAME" & vbTab & "CLASS" & vbTab & "AMOUNT" & vbTab
qbtranheader1 = qbtranheader1 & "DOCNUM" & vbTab & "MEMO" & vbTab & "CLEAR" & vbTab & "TOPRINT" & vbTab
qbtranheader1 = qbtranheader1 & "NAMEISTAXABLE" & vbTab & "ADDR1" & vbTab & "ADDR3" & vbTab & "TERMS"
qbsplheader1 = "!SPL" & vbTab & "SPLID" & vbTab & "TRNSTYPE" & vbTab & "DATE" & vbTab
qbsplheader1 = qbsplheader1 & "ACCNT" & vbTab & "NAME" & vbTab & "CLASS" & vbTab & "AMOUNT" & vbTab
qbsplheader1 = qbsplheader1 & "DOCNUM" & vbTab & "MEMO" & vbTab & "CLEAR" & vbTab & "QNTY" & vbTab
qbsplheader1 = qbsplheader1 & "PRICE" & vbTab & "INVITEM" & vbTab & "TAXABLE" & vbTab & "EXTRA"
qbendtranhdr1 = "!ENDTRNS"
qbendtran1 = "ENDTRNS"

FSTR1.Write qbtranheader1 & vbNewLine
FSTR1.Write qbsplheader1 & vbNewLine
FSTR1.Write qbendtranhdr1 & vbNewLine
'end create invoice header line
'Get the billed records for processing
Dim tsearch As String

tsearch = "select * from trip_order where status = 'BILLED'"
tsearch = tsearch & " order by pu_date, trip_id"

Dim Cn As New Connection, Rs77 As New Recordset

Cn.ConnectionString = "DSN=Dimension"
Cn.Open
 
 Dim carrier As String, tripid As String, carriertotal As String, relnum As String
 Dim customer As String, customertotal As String, commodity As String
 Dim freightcost As String, fuelsurcharge As String
 
Rs77.Source = tsearch
Set Rs77.ActiveConnection = Cn
Rs77.Open
Do While Rs77.EOF = False
If IsNull(Rs77!carrier) Then
carrier = " "
Else
carrier = Rs77!carrier
End If
If IsNull(Rs77!trip_id) Then
tripid = " "
Else
tripid = Rs77!trip_id
End If
If IsNull(Rs77!carrier_total) Then
carriertotal = " "
Else
carriertotal = Rs77!carrier_total
End If
If IsNull(Rs77!rel_num) Then
relnum = " "
Else
relnum = Rs77!rel_num
End If
If IsNull(Rs77!customer) Then
customer = " "
Else
customer = Rs77!customer
End If
If IsNull(Rs77!total_cost) Then
customertotal = " "
Else
customertotal = Rs77!total_cost
End If
If IsNull(Rs77!commodity) Then
commodity = " "
Else
commodity = Rs77!commodity
End If
If IsNull(Rs77!freight_cost) Then
freightcost = " "
Else
freightcost = Rs77!freight_cost
End If
If IsNull(Rs77!fuel_surcharge) Then
fuelsurcharge = " "
Else
fuelsurcharge = Rs77!fuel_surcharge
End If

Dim tdate As String, memo As String, duedate As Date, duedated As String

memo = "PRO# " + tripid
tdate = Format(Now(), "mm/dd/yyyy")
duedated = Format((Now() + 30), "mm/dd/yyyy")

carriertotal = Format(carriertotal, "###.##")
Dim carriertotaln As Integer
Dim carriertotald As Integer
carriertotaln = (carriertotal * -1)
carriertotald = (carriertotal * 1)

customertotal = Format(customertotal, "###.##")
Dim customertotaln As Integer
Dim customertotald As Integer
customertotaln = (customertotal * -1)
customertotald = (customertotal * 1)

'create and write bill transaction lines
qbtran = "TRNS" & vbTab & " " & vbTab & "BILL" & vbTab & tdate & vbTab & "Accounts Payable" & vbTab
qbtran = qbtran & carrier & vbTab & " " & vbTab & carriertotaln & vbTab & relnum & vbTab & memo & vbTab
qbtran = qbtran & "N" & vbTab & "N" & vbTab & " " & vbTab & duedated & vbTab & "Net 30"

FSTR.Write qbtran & vbNewLine
qbspl = "SPL" & vbTab & " " & vbTab & "BILL" & vbTab & tdate & vbTab & "Carrier:Fees" & vbTab & " " & vbTab
qbspl = qbspl & " " & vbTab & carriertotald & vbTab & " " & vbTab & " " & vbTab & "N" & vbTab & " " & vbTab & "NOTHING" & vbTab & "0/0/0"
FSTR.Write qbspl & vbNewLine
FSTR.Write qbendtran & vbNewLine
qbtran = ""
qbspl = ""
'CREATE INVOICE TRANSACTION LINE
qbtran = "TRNS" & vbTab & " " & vbTab & "INVOICE" & vbTab & tdate & vbTab & "Accounts Receivable" & vbTab
qbtran = qbtran & customer & vbTab & " " & vbTab & customertotald & vbTab & tripid & vbTab & " " & vbTab
qbtran = qbtran & "N" & vbTab & "N" & vbTab & "N"

FSTR1.Write qbtran & vbNewLine
qbspl = "SPL" & vbTab & " " & vbTab & "INVOICE" & vbTab & tdate & vbTab & "Sales" & vbTab & " " & vbTab
qbspl = qbspl & " " & vbTab & customertotaln & vbTab & " " & vbTab & commodity & vbTab & "N" & vbTab & " " & vbTab & customertotald & vbTab
qbspl = qbspl & " " & vbTab & "N"

FSTR1.Write qbspl & vbNewLine

qbsp2 = "SPL" & vbTab & " " & vbTab & "INVOICE" & vbTab & tdate & vbTab & "Sales Tax Payable" & vbTab & " " & vbTab
qbsp2 = qbsp2 & " " & vbTab & "0" & vbTab & " " & vbTab & " " & vbTab & "N" & vbTab & " " & vbTab & "0.00%" & vbTab & "No Tax" & vbTab
qbsp2 = qbsp2 & "N" & vbTab & "AUTOSTAX"
FSTR1.Write qbsp2 & vbNewLine

FSTR1.Write qbendtran & vbNewLine
qbtran = ""
qbspl = ""
qbsp2 = ""
  Rs77.MoveNext
Loop
Rs77.Close
Cn.Close

Set FSTR = Nothing
Set FSO = Nothing

'Update the status on all records that are being imported into Quickbooks.
Dim bstatus As String, cstatus As String, btripid As String

'cstatus = "COMPLETED"
'bstatus = "BILLED"

'Dim sqlupdate As ADODB.Command
'Set sqlupdate = New ADODB.Command

'sqlupdate.ActiveConnection = "DSN=Dimension"


'sqlupdate.CommandText = "update trip_order " & _
 ' "set status = '" & cstatus & "' " & _
 ' " where status = '" & bstatus & "'"

'sqlupdate.Execute
'Set sqlupdate = Nothing
MsgBox "Imports have been created: Please import the files bill.iif and invoice.iif from Quickbooks", vbOKOnly, "QuickBooks Import Completed"

end sub

 


Visit my guru profile

Visitor Comments

Be the first to rate this code sample!

 

Rate this Code Sample






	
	
	



ASP.NET Chart Control.
Charts from your Database.
Live Demo & FREE Trial!

ASP ArticlesThis category has been added to your weekly newsletter
ASP Web Sites
ADSI & WSH BooksThis category has been added to your weekly newsletter
FREE ComponentsThis category has been added to your weekly newsletter
ASP EventsThis category has been added to your weekly newsletter
ASP HeadlinesThis category has been added to your weekly newsletter

CSharp ArticlesThis category has been added to your weekly newsletter
C# Web SitesThis category has been added to your weekly newsletter

SQL ArticlesThis category has been added to your weekly newsletter
SQL Events
SQL HeadlinesThis category has been added to your weekly newsletter
SQL Jobs

Jobs in CaliforniaThis category has been added to your weekly newsletter

XML ArticlesThis category has been added to your weekly newsletter
XML BooksThis category has been added to your weekly newsletter
XML Web Sites
XML Tutorials

free asp host

"Alex Homer"This search has been added to your weekly newsletter

Edit My Favorites Edit Profile & Favorites

 




Developersdex Home | ASP | C# | SQL | VB | XML | Gurus
Add Your Link | Add Your Code | FAQ | Advertise | Link To Us | Contact Us |
Copyright © 2010 Developersdex™. All rights reserved.