Importing Invoices

I'm new to Sage and have been tasked with writing the code to import invoices. I need this fairly quickly, so I'm looking around for anyone who may have done this and would have the expertise to walk me through it. I'd be happy to pay for this.

  • Where is the invoice data coming from?

    How many users will be online, using that company data?

    Can the import be batched and run overnight, or does it have to be immediate?

    Sage 50 can import basic invoice information from a properly formatted .IMP text file, but the (free) SDK will give more control.

    And there are third party utilities available for importing data.
  • The invoice data is coming from a custom program I've written. I can generate a CSV file or use ODBC or whatever options might be available to me.

    It could definitely be batched.

    Since the other program already generates a detailed invoice, what I was hoping to do is just send an abbreviated invoice to Sage 50. The record would really just have the customer, the total of the invoice, and the amounts for GST and PST. Is this possible, or does Sage require more?
  • If you can batch it, the easiest is to use the Sage 50 import format.  

    The Sage 50 import format is a sort of CSV list with an XML-ish header. 

    Kevin Willems said:
    The record would really just have the customer, the total of the invoice, and the amounts for GST and PST. Is this possible, or does Sage require more?

    It depends on how the Sage 50 company file is configured.  If using ONLY the G/L, and not any part of the Accounts Receivable module, then the transactions could be imported as 'General Journal entries' and you just need the raw numbers.

    The format is shown in the online program help, and also in KB 16559 'Miscellaneous transactions' below:

    https://partners.sagenorthamerica.com/irj/go/km/docs/sageKM/Simply%20Accounting%20by%20Sage/Ungated%20Customers/simply24745.html

    Otherwise, to import a Sales invoice into the Accounts Receivable module, the .IMP file has to be formatted like:

    <Version>

    "12001", "1"

    </Version>

    <SalInvoice>

    "UNIVERSAL CONSTRUCTION", , ,"102-3701 East Hastings St.", ,"Vancouver","British Columbia","V5C2H6", , , , ,

    "2", ,"","3-15-2001", "3", "VISA", "67.84","0.00"

    "C1020","2.0000","4.7500","9.50","GST","0","1","7.00","0.67","PST","0","0","7.00","0.67"

    "H1020","2.0000","25.0000","50.00","GST","0","1","7.00","3.50","PST","0","0","7.00","3.50"

    </SalInvoice>

    The first line's version "12001" is a minimum internal version spec.   If Sage were to have added additional import features to a later version, this presumably would have notified the Sage 50 client that it had to be at least version xxxxx to import the .IMP file.  Stick with using 12001 as the version.

    The "1" is a country code, Canadian English.

    Unless you need it, i.e. to generate invoices in a steady stream, in multi-user mode) I would stay away from the free SDK.  Each release of the software (about 5x per year) requires an update to the SDK, and possibly a recompile.

    That said, the free SDK has a lot of documentation that you may find useful, especially 'Dev-Import.PDF'.  And... it's free.


    The import can be done from the program menu, by double-clicking the .IMP file in Explorer, and... possibly by running 'Sage_SA_import.exe'.

    Importing from the menu is an interactive process and may ask the user about items it can't match, etc.   It's way faster than re-keying, and a lot more accurate.