Goal:
- Mapping bills integration
Mapping Considerations: Hierarchical Data
When mapping from one system to another, you often need to translate hierarchical data into a flat list that can be shown in a dropdown.
For example, in the image below, we see on the left the Procurify dropdown holding a list of subsidiaries shown on the right as defined in NetSuite.
As you can see on the right, the parent sub is Honeycomb Holdings Inc., and Shaareable Apps is a child of the parent. In situations where you have a parent-child relationship or hierarchy, as seen here, the action item is to introduce a “:“ or “space colon space” between the parent and the child.
This is why, on the left side in Procurify, all items are prefixed with “Honeycomb Holdings Inc.: “ since each item refers to a child of the parent Honeycomb. In this way, when we pass over to NetSuite a given Organization, as seen in the dropdown on the left, NetSuite will know how to take apart based on the colon to map it to the correct Subsidiary in this case.
Mapping Considerations #1: Who gets the Bill?
By default, with no mapping being done, the NetSuite Subsidiary that is assigned as the Default Subsidiary for the Vendor used in Bill is the Subsidiary that gets the Bill.
We highly recommend a one-to-one relationship between a NetSuite Subsidiary and a Procurify domain. The main reason behind this recommendation is that in Procurify, everyone gets to see all the Vendors, while in NetSuite, most of the time, Vendors are not seen by all users: they are restricted by Subsidiaries.
Consequently, we recommend that when selecting the Vendors that will be created in Procurify, you only select Vendors whose Primary Subsidiary is the same that the Users. In this way, in your Procurify domain, given it reflects only one NetSuite Subsidiary, your users will only see the appropriate vendors they are used to, and the Bill will always go to that correct Subsidiary.
Mapping Considerations: Entity Dependencies
When working with more detailed ERPs like NetSuite, Intacct, Business Central 365, SAP, etc., we often see a spider web of dependencies between various entities. Let’s review some common examples applicable to NetSuite, at least here.
Vendors & Currencies
In Procurify, any vendor can use currencies defined in the system-wide Settings page. In NetSuite, vendors are explicitly assigned a list of currencies they can work with. This difference in approach signifies that to ensure the bill syncs properly, the vendor in NetSuite must support the currency used in the bill. For example, given the vendor “Best Buy Canada,” which in NetSuite only has the Canadian currency assigned, a bill coming over for Best Buy Canada given in a US currency would fail. Hence the AP team in Procurify must be cognizant of the currencies supported by the vendor they create Bills for.
Vendors & Subsidiaries
In Procurify, the main hierarchical business entities are Locations and their children Departments. In NetSuite, they are only called Subsidiaries. We have a two-level deep structure: Location -> Department. In NetSuite, there’s ‘n’ level deep of Subsidiaries. In NetSuite, Locations and Departments are independent lists that may or may not tie into one or many Subsidiaries; once again, in NetSuite, the Subsidiaries assigned to a Vendor, a Location or a Department, or a CLASS are explicitly defined. As such, if you are to sync a bill, you have to ensure that the subsidiary that gets the Bill (if defined in the mapping) is listed in the subsidiaries list for the vendor selected for the Bill.
Locations & Subsidiaries
In Procurify, Locations are the main business organizational structure; however, in NetSuite, Locations are simply Lists that may or may not be assigned to one or many Subsidiaries. Hence, when you map something in Procurify to the NetSuite Locations, you have to ensure that the NetSuite Subsidiary getting the Bill is connected to the Location being mapped. If no Subsidiary is mapped in Procurify, then the default Subsidiary of the Vendor being used in the Bill will be the Subsidiary getting the Bill.
Departments & Subsidiaries
In Procurify, Departments are the main business organizational structure; however, in NetSuite, Departments are simply Lists that may or may not be assigned to one or many Subsidiaries. Hence, when you map something in Procurify to the NetSuite Departments, you have to ensure that the NetSuite Subsidiary getting the Bill is connected to the Department being mapped. If no Subsidiary is mapped in Procurify, then the default Subsidiary of the Vendor being used in the Bill will be the Subsidiary getting the Bill.
NetSuite Bill Sync Workflow Diagram