Source: https://github.com/junctionapps/3e-notebooks/
Author: aaron@junctionapps.ca
Controlling everything from 3E requires some forethought. Some notes breaking it down follow - I hope to update this notebook as I re-write the whole process in Python. I've done this with Intapp Integration Builder already, but having gone through it, there are few things I'd do differently to make it better. The same decisions/choices/details must be determined in any case.
My personal preference is to use Integration Builder if you have it (with logging being one of the main drivers of that recommendation), otherwise, let 3E handle the scheduling and create a Python endpoint using Bottle, Flask, Django, Pyramid or whatever framework to do the calls to Chrome River. It is possible to do it all in VB, but the libraries and support for Python far outweight keeping it all under the IDE and it's aging interface.
If it is not clear, the intent here is to automate everything. No person should be manually controlling this process, with exception granted on the import's timing if Finance staffing has such a requirement. The accounts payable clerk could be responsible for kicking off an import when ready to process instead of having the imports run on a pre-defined schedule.
Manage variables (url, user, password) (Override System Options)
Create a Chrome River Section
Add option for chrome_api_user
Add option for chrome_api_password
Add option for chrome_api_url
Update your instance cloning instructions to ensure URL gets updated when copying prod to qa
Voucher
Alter Voucher to include Chrome River report_id
Alter Voucher to include a boolean for images attached if importing images
Detemine values for load source, load group for voucher and children (GL or Matter Charges)
Create Import Event archetype, object
Create a tax mapping for Chrome River Taxes to tax fields in Voucher GL and Matter Charge grids. If significant numbers, it may be worth creating an archtype/object/forms/process to manage.
Thoroughly understand taxes
Create instances of the Import event (NxNtfEvent) which handle invidually or in groups
Expense import
Vendor invoice import
Create Export Event archetype, object and decide if feeding all everytime or separating by the various feeds. Decide if updating in bulk, or at times of change.
Discuss Security Tree placement.
Create instances of the Export event(s) (NxNtfEvent) which handle invidually or in groups.
Matter/Allocations
People
Entity
GL
Vendor
Paid Expenses
Create a set of tasks (Notification Task Manager). Keep in mind the desire to coordinate with the schedule on Chrome River. Also good to remember at time of writing, Chrome River is not timezone aware so must be manually adjusted when the clocks change for daylight savings.
Imports to 3E, including decision if images are imported and when (time of import or nightly). Decide if landing in an action list for a particular role/user, or posting immediately.
Review AP account for Expenses, Invoices, Visa
Review business rules for AP account (ex: certain office triggers specific unit)
Pull/Import to 3E the Chrome River Expense Export
Pull/Import to 3E the Chrome River Vendor Invoice Export
Create a 3E application to log requests, feed totals, and responses to the 3E web service calls, with ability to re-run a given import. This is handy in the event an import is run, lands on an action list and gets cancelled in error.