Setting Up an External Financial Interface

SyteLine provides an XML-based interface that can be used with an external financial system such as Infor SunSystems or SAP. Also, SyteLine on-premises provides a direct data access interface for Infor Global Financials (IGF). You can choose which types of financial information to export or import between SyteLine and the other system.

Note: 
  • If you are setting up the Infor SyteLine Enterprise Financials (SunSystems interface) package, see the Infor SyteLine Enterprise Financials Installation and Implementation Guide instead of using these steps.
  • If on-premises and you are setting up integration with IGF, see the Infor SyteLine Integration Guide for Infor Global Financials instead of using these steps.
  • If you are using any other financial package, follow the steps below.

Use this topic in conjunction with Setting Up an Incoming Financial Interface.

To set up the interface from to SyteLine to an External Financial System:

  1. Since the external financial interface uses non-transactional replication as its method of transferring data, be sure you understand how replication works.

    For more information, see the Replication Reference Guide, available from our support site.

  2. Make sure you understand the distinction between data flow (transaction records being passed from SyteLine to the external system) and data maintenance (the updating of "code" records such as customer codes, terms codes, or exchange rates that might be passed from SyteLine to the external system, or vice versa). Decide which system will be the "master" for accounts payable and accounts receivable tasks.
  3. Become familiar with both the SyteLine database structure and that of the external financial application. Map the financial data that needs to flow between the systems, noting the system in which the data should be maintained.

    The SyteLine DataMap's Schema-Properties spreadsheet, which lists SyteLine database tables and columns, could provide a good starting point for a mapping plan.

  4. Become familiar with the syntax of the XML request documents used to pass data to and from SyteLine.

    For more information, see the document Integrating IDOs with External Applications (especially the chapter on XML IDO request and response documents), which is available from our support site.

  5. In the System Types form, create a new system type for the external financial application.

    This system type is used when defining the target site for the external financial application in the Sites/Entities form.

    Make sure that an additional system type is defined for your SyteLine application.

    The source and target system types are used in the names of XSL stylesheets that can be used to transform the XML data.

  6. In the Intranets form, define a separate intranet to be used only for data requests to and from the external financial application. Name this intranet something unique, such as EXTFIN, and select the External check box.

    For this intranet, specify the URL to which the financial XML request/response documents will be posted. This URL should be entered in the URL field on the Intranets form. This URL could be an ASP page on the external financial system that receives and processes the XML from the SyteLine message queue. The processing done at this URL is up to you. For example, an ASP page might map the data into the proper format for the external system, or it might write the XML documents to a location on its server for later processing.

  7. On the Sites/Entities form, define a source site from which system data will be exported:
    • On the System Info tab, select the SyteLine application's system type (defined earlier) and time zone.
    • Set the Intranet Name to the default intranet.
    • In the Database Name field, specify the application database name.
  8. On the Sites/Entities form, define a target site for the external financial interface.
    Note:  This site must not be used for any other purpose. To avoid confusion, we suggest you name the site EXTFIN.
    • On the System Info tab:
    • Select the external financial application's system type (defined earlier) and the time zone.
    • Set the site's Intranet Name to the intranet created in the previous step.
    • Set the Database Name field to the external financial application's database.
  9. On the Site User Map tab:
    • In the From Site field, specify the SyteLine site that will send data to EXTFIN.
    • In the User Name field, specify a local user on that site.

    For more information about setup requirements for this user, see the online help for this tab and field.

  10. Decide whether you want to export invoices, debit memos, and credit memos, and/or vouchers and adjustments, to the external financial system. Use the fields on the External Financial Interface Parameters form in SyteLine to specify this information:
    • If you select Use External Financial Interface, SyteLine exports all posted General Ledger (G/L) transactions to the external system. This assumes that all customer and vendor records will be created and updated in SyteLine and that the records will be exported to the external system. Choosing this option also enables the External Financial Interface Data Request Utility.
    • If you want to use an external financial system for A/P, also select Use External A/P System. This tells SyteLine to export all posted A/P voucher and adjustment transactions to the external system.
    • If you want to use an external financial system for A/R, also select Use External A/R System. This tells SyteLine to export all posted A/R invoice, credit, and debit memo transactions to the external system. Selecting this option also enables the Customer Posted Balance tab on the External Financial Interface Data Request Utility.
    • For both the A/P and A/R options, you can determine the maximum batch size to include in a single XML document. Keep in mind that larger XML documents take longer to process.
    • For the Site field, specify the site you defined in step 8.
  11. Decide whether you want to modify the standard SyteLine processing for Due Date Calculation, Tax Calculation, or Currency Conversion. On the External Financial Interface Parameters form, you can choose to use external processing for any or all of these. If you select external processing, you will need to modify one or more of these "stub" stored procedures to do what you want:
    • ExtFinCurrCnvtCalcSp (Currency Conversion)
    • ExtFinDueDateCalcSp (Due Date Calculation)
    • ExtFinTaxCalcSp (Tax Calculation)
  12. Decide how you want to handle customer credit checking.

    When SyteLine performs a credit check for a customer, it needs the customer's current posted balance. If SyteLine is used for A/R functions, it has all the information it needs to calculate and store posted balance amounts. However, if the external financial system is used for A/R functions, then SyteLine must get the posted balance from the external system. There are two ways to do this:

    • To request the posted balance at the time of the credit check (that is, synchronously), set up the system to call a stub stored procedure that obtains the customer's posted balance from the external system.

      To set this up, select the Use External Customer Posted Balance for Credit Check field on the External Financial Interface Parameters form. Then update the stub stored procedure named ExtFinGetExternalPostedBalSp so that it returns the posted balance from the external system.

    • To use a posted balance that was retrieved previously (that is, asynchronously), set up the request information on the Customer Posted Balance tab of the External Financial Interface Data Request Utility.

      Whenever that utility is run, SyteLine updates its posted balance information for all customers in the range. A credit check then uses the latest stored data.

  13. Look at the default external financial (EXTFIN) categories in the Replication Categories form, and decide if you need to add any new categories.

    For instance, is there data in other SyteLine tables that your external financial system will need? We recommend that you leave the default categories as is, and create new ones as needed. The default EXTFIN categories are listed here:

Note:  A table name can be represented by the name of a view over the table. This section uses view names in place of table names, where appropriate.
  • EXTFIN: Used for exporting SyteLine A/R, A/P, and G/L transactions to the external financial system, and also for exporting requests for updates to SyteLine tables  by the external financial system. This category includes the functions and XML documents required to export financial information:
    • ExtFinAPVoucherPosting: Exports data from the SyteLine export_aptrx and export_aptrxd tables, which are holding tables for data collected from various A/P tables.
    • ExtFinARInvoicePosting: Exports data from the SyteLine export_arinv and export_arinvd tables, which are holding tables for data collected from various A/R tables.
    • ExtFinAnaLedgerPosting: Exports data from the SyteLine ana_ledger table.
    • ExtFinLedgerPosting: Exports data from the SyteLine ledger table.
    • ExtFinRequest: Exports a request to the external financial application for updates to a specific SyteLine table. For more information, see the help for the External Financial Interface Data Request Utility.
  • EXTFIN Customer: Used for exporting SyteLine customer information. This category includes the sibling database tables custaddr and customer.
  • EXTFIN Vendor:- Used for exporting SyteLine vendor information. This category includes the sibling database tables vendaddr and vendor.

Processing note for customer and vendor records: When a new customer or vendor record is added in SyteLine, the information is sent to the external financial system as a single XML document combining the information from the sibling tables, customer/custaddr or vendor/vendaddr, respectively. The information for custaddr or vendaddr in the single XML just contains the specified key values and default values for the table's columns. The user-specified values will be included as part of an update that follows the insert. However, for updates to existing customer or vendor records, the XML document pulls records only from the table that changed.

  • Create one replication rule for each EXTFIN category, using the Replication Rules form.

    This must be done for each SyteLine site where you will be exporting data to the EXTFIN site. If you created additional categories for your external financial system in the previous step, set up rules for the new categories, too.

    A sample rule would include information such as the following:

    Source Site: OH (the site from which data will be extracted)

    Target Site: EXTFIN

    Category: EXTFIN Vendor

    Description: Pass vendor info to EXTFIN

    Interval Type: Immediate (anything but Transactional will work here)

    Interval: (Blank if Interval Type is Immediate; some interval value otherwise)

    Start Interval at: (Blank if Interval Type is Immediate; a time value otherwise)

    Disable Replication: (Cleared - EXTFIN uses replication)

    Update All Columns: (Cleared)

  • On the Replication Management form, click the Regenerate Replication Triggers button to rebuild the database table triggers based on the rules you created in the previous step.
  • Stop and start the replication services on the SyteLine utility server.
  • Set up the URL (which was specified in Step 6) on your external financial system to retrieve and process the XML documents mentioned in Step 12.

    Again, in these examples, we use view names in place of actual table names.

    • The EXTFIN XML "update collection" documents are used to specify information from SyteLine that should be updated in the external financial system. They start with a set of tags similar to the following:

      <IDORequest>

       <RequestHeader Type="UpdateCollection">

        <RequestData>

         <UpdateCollection Name="EXTFIN.xml_doc_name.table">

      For example: <UpdateCollection Name="EXTFIN.ExtFinLedgerPosting.ledger">

      The external financial system is expected to respond to "update collection" requests by updating the data in the external financial application.

    • The EXTFIN XML "load collection" documents are used to request information from the external financial system that needs to be updated in SyteLine. They start with a set of tags similar to the following: <IDORequest>

       <RequestHeader Type="LoadCollection">

        <RequestData>

         <LoadCollection Name="EXTFIN.xml_doc_name.table">

      For example: <LoadCollection Name="EXTFIN.ExtFinRequestChart.chart">

      The exception is the Customer Posted Balance request, which uses an "invoke method" request:

      <Invoke="EXTFIN.ExtFinRequestCustomerPostedBalance">

      The external financial application is expected to respond to "load collection" and "invoke method" requests by returning to SyteLine an "update collection" response that includes the requested data.

      For more information, see Example: Requesting Data from an External Financial Application.

    • The EXTFIN Customer and EXTFIN Vendor XML documents contain a tag similar to the following:

      <UpdateCollectionName="Table!replication_category_to_object_name">

      For example: <UpdateCollectionName="Table!Customer">

      The external financial system is expected to respond to these "update collection" requests by updating the data in the external financial application.

    Your external financial system should use the information in these tags to determine how to process and map the data in each XML document. The import process on the external system must also handle the batch_seq information in the XML document.

    For information about the syntax and tags used in the XML documents, see the document Integrating IDOs with External Applications, especially the chapter on XML IDO request and response documents.

    Samples of the outbound XML documents that may be generated from SyteLine are available in ZIP files from our support site.

  • Set up the interface from the External System to SyteLine.

    See Setting Up an Incoming Financial Interface.