Netsuite Integration

Oracle Netsuite provides an all-in-one ERP platform with CRM and Accounting capabilities. Netsuite’s Accounting and Financials module allows for invoicing, P/L, GL, and financial reporting capabilities. Integration with Avionte requires customers to have Netsuite as their accounting and financials platform.

 

Printer Friendly Version

CHAPTERS

User Persona
Setup & Authentication (One time Setup)

Syncing (Implementation)
Troubleshooting / FAQ

 

 

User Persona

Avionte integration with Netsuite is suitable for customers who choose not to Payroll In-house or currently use 3rd party PEO / Payroll providers to run payroll. Integration can also be useful for customers who currently are on Netsuite and choose not to take advantage of the full BOLD Front office AND Back office functionality. Typical customer verticals best suited for are the IT / Professional segments. Avionte Integration allows customers to use Avionte BOLD Timekeeping, run Payroll via 3rd party, and invoice their clients for Perm Placements & Contractor billables.

Typical Users Types to use integration:

  • Backoffice (AR / AP / Controller)
  • CFO
  • Operations Managers
  • Payroll Admins

 

Avionte Integrates with Netsuite via their SOAP API specifications. The following items are contained in the integration:

  1. User Authentication
  2.  Syncing
    1. Avionte Division >> Netsuite Classes
    2. Avionte Regions >> Netsuite Locations
    3. Avionte Office >> Netsuite Departments
    4. Avionte Tax Type >> Netsuite Items
    5. Avionte Billing Terms >> Netsuite Terms
    6. Avionte Company Profile >> Netsuite Customer
  3. Invoice Creation
    1. Avionte Perm Placement
    2. Avionte Contractor weekly Timesheets
  4. Custom JSON ***
    1. Custom JSON attributes is designed for customers that have customized Netsuite and would like additional datapoints.
    2. These data points are sent via a JSON, Netsuite Developers can use those data points for customer custom requests.

Required Permissions: Users that will Sync and create Invoices, need to have Finance Admin access in BOLD.

 

 

Setup & Authentication (One time Setup)

 

System Permissions

    1. Avionte Bold
      1. This is an Avionte Marketplace Integration, System Feature permission not needed.
    2. Netsuite
      1. Have Customer/Netsuite Admin user create new Integration
        Netsuite via Setup >> Integration Management >> Manage Integrations >> New

        Matching the below configurations

        mceclip1.png

      2. Once Integration is created go back to
        Setup >> Integration Management >> Manage Integrations and take note of the Application ID it will be needed at a later step.

        mceclip2.png

 

User Permissions / Setup

    1. Avionte BOLD
      1. Enable Finance Admin via User Accounts >> User Access >> Management >> Finance Admin
      2. Ensure Backoffice features are enabled via User Accounts >> User Access >> Back Office >> Timesheets, Timesheet Approver Back Office Manager
    2. Netsuite (*Please note these requirements should be given to Customer & Netsuite for Setup)
      1. Netsuite username and Password needed (Netsuite user needs to belong to a User Role other than ADMINISTRATOR)
      2. Create / Update Netsuite User role (Netsuite should already have created a role for Billing / Accounting). You will need the User Role’s Internal ID for a later step.
  • Disable Two Factor authentication on User Role / User
  1. Netsuite Setup >> User Role >> Permissions >> Setup
    Need to have the following access at minimum (designated by red dot)

    mceclip3.png

  2. Netsuite Setup >> User Role >> Permissions >> Lists
    Need to have the following access at a minimum (designated by red dot)

    mceclip4.png

 

Authentication

Some Items referenced in Section 2 will be needed below)

    1. In Avionte, for all users that will be using the integration
      1. Navigate to Avionte Marketplace >> Netsuite (search bar) >> Settings

        mceclip5.png

    2. Definition of inputs
      1. Username = Netsuite User email used to log in, tied to the User Role (2.b.iii)
      2. Password = Netsuite Password used to log in, tied to the User Role (2.b.iii) AND for the user email above.
      3. User Account = Netsuite Customer account #. This can be obtained from Netsuite OR from their Netsuite URL

        mceclip6.png

  1. Application ID = Netsuite Avionte Application ID. (1.b.ii)
  2. Internal ID = User Role Internal ID tied to the user logging in. (2.b.ii)
  1. For each user, fill in the above fields and click save.
    Please note there is no user notification that the login was successful
    1. To test if authentication / login was successful, in Avionte
      1. Navigate to Back Office >> Management >> Netsuite (in search bar) >> click through
        1. If the page loads then authentication was successful with Netsuite, please note that this could take up to 60 sec to load. See below for successful load.

          mceclip7.png

    2. If page continues to spool, then either User Role permissions aren’t set correctly, or Username and password are in correct. Have technical support search the error log for “Netsuite”, error output should clearly state the cause.



Syncing (Implementation)

This section will cover suggestions for implementation. Traditionally, customers on or moving to Netsuite will most likely partner with Netsuite to convert their historical accounting and financials into their Netsuite instance. This will include their Classes, Departments, Locations, Terms, Open Invoices, Customers, and GL. Please note, that this will be a onetime setup, and maintenance as they add new items throughout the customers Lifecycle. Customers can utilize Netsuite PM team to facilitate any Netsuite configuration changes that need to be made.

 

Revenue Classification Syncing

Navigate to Back Office >> Management >> Netsuite (in search bar) >> click through

    1. Avionte Regions to Netsuite Locations
      1. For each row, click Edit to enable a dropdown in the second column. Map each Avionte Region to corresponding Netsuite Location and hit Save. Please note that the naming conventions might be different.

        mceclip8.png

    2. Avionte Offices to Netsuite Departments
      1. For each row, click Edit to enable a dropdown in the second column. Map each Avionte Office to corresponding Netsuite Department and hit Save. Please note that the naming conventions might be different.

        mceclip9.png

    3. Avionte Job Types to Netsuite Items
      1. For each row, click Edit to enable a dropdown in the second column. Map each Avionte Job Type to corresponding Netsuite Item and hit Save. Please note that the naming conventions might be different.
      2. Staff Services = Regular W-2 / 1099 / C2C placement classifications

        mceclip10.png

      3. Payroll Services = EOR or Employer of Record W-2 / 1099 / C2C placement classifications.


    4. Avionte Division to Netsuite Classes
      1. For each row, click Edit to enable a dropdown in the second column. Map each Avionte Division to corresponding Netsuite Class and hit Save. Please note that the naming conventions might be different.

        mceclip11.png

    5. Avionte Billing Terms to Netsuite Terms
      1. For each row, click Edit to enable a dropdown in the second column. Map each Avionte Billing Terms to corresponding Netsuite Terms and hit Save. Please note that the naming conventions might be different.

        mceclip12.png

      2. Please note, that the billing terms in Avionte are fixed, Netsuite as the ability to add custom billing terms. For scenarios that a corresponding Billing Term does not exist, inform customer to map Avionte Billing terms that they do not use to Netsuite Term.

    6. Avionte Companies to Netsuite Customers
      1. Netsuite includes a CRM similar to Avionte. In order for Netsuite to classify revenue against a customer, invoices need to be created under the customer. Avionte provides the ability to sync Company profiles to Netsuite.
      2. To prep what customers needed to be Synced, it is suggested that the Active Consultant Report be run to get list of active billable Customers.
  • Navigate to Analyze >> Active Consultant Report >> Filter Pane >> Select at minimum upcoming 2 months This is to ensure that all customers with upcoming invoices are in the report.
    1. Ensure Company and Company ID columns are selected from the column selector. Export report to excel and extract unique Company and Company ID into a separate sheet. This is the list of customers that need to be manually synced.
    2. Alternative method is to follow the next steps directly from the Active Consultant Report using the Company hyperlink. This might be a faster method.
  1. The following process needs to be completed for each unique Company in the report.
    1. Navigate to Company profile in Avionte from list or report directly.

      mceclip13.png

    2. From the Company Profile, in the left hand pane, scroll down to Operational Information >> Edit >> Netsuite Sync >> Edit Sync

                                                               
mceclip14.png


Companies not synced to Netsuite will show the following.

               mceclip29.png

  1. After clicking Edit Sync, a new panel will open to the right. By Default, the integration will do a search to return ALL LIKE Customer names from Netsuite. Use the drop down selection to pick the correct matching Customer in Netsuite and select Sync Selected Company with Netsuite

    mceclip15.png

  2. If like Customer in Netsuite does exist and is not found in the drop down, it is likely that the names are different in both systems. To sync, do either of the following:
    1. Change the name of the Company in Avionte to match Netsuite >> Save Profile >> Refresh Page >> redo step 4.f.iv.3
    2. Change the name of the Customer in Netsuite to match Avionte >> Save Customer >> redo step redo step 4.f.iv.3
  3. If Customer is new to Netsuite select Create New Company in Netsuite from the panel. By Default, information from the Company profile will prepopulate, update necessary fields and click Create Company in Netsuite Please note, it is recommended to always fill in the Country field, as might be a required field in the Netsuite Configuration.

    1. Company Subsidiary in Netsuite will default to the Parent Netsuite subsidiary, only change from the default if the Netsuite configuration requires it.

mceclip16.png

*If panel spools after submitting, most likely the Netsuite user does not have the proper permissions to Create / Edit Customers in Netsuite

  1. Repeat above steps, until all Company’s on the list have been synced. As an ongoing process, as new Company’s get added to Avionte and might be billable, proactively sync using the steps above to avoid interruptions during invoicing.

 

Invoicing

 

  1. Contractor Invoicing
    1. After processing timesheets for Invoice Batches, navigate to Pay & Bill Archive. Export To Netsuite will need to be processed for each batch processed for invoicing.
      Invoice Batches
      Pay & Bill archive
      mceclip17.png

    2. You will be prompted to select the appropriate Netsuite Accounting Period associated with the invoice batch and click Export to Netsuite. It is important to note, that a strong Payroll Process / Contractor Pay workflow.
      Click here for more information on Contractor Pay

      mceclip18.png

    3. If a Company has not been synced to Netsuite from the corresponding invoice batch, you will be prompted with an error and an opportunity to click into the Company profile Edit Sync.

      mceclip19.png

    4. After syncing remaining Company’s to Netsuite, redo steps 5.a.ii

    5. Successful Invoice sync will give the following prompt, and the ability to view the log. If for any reason, there is an interruption (internet connection/system availability) or error mid batch, you will be able to re-sync the remaining invoices.mceclip20.png


    6. Netsuite Invoice Example & Field mappings

      mceclip21.png
      mceclip22.png

        1. Netsuite Customer = Avionte Company Name
        2. Date = Timesheet Batch Week Ending
        3. Due Date = Invoice Create Date + Avionte Billing Term (Order)
        4. Terms = Avionte Billing Term (Order)
        5. Item = Avionte Job Type (Initial Mapping)
        6. Description = Avionte Consultant Name + “|” + timesheet week start – week end
        7. Class = Avionte Division (initial Mapping) à Based off of Job Office/Branch
        8. Location = Avionte Region (initial Mapping) à Based off of Job Office/Branch
        9. Department = Avionte Office (initial Mapping) à Based off of Job Office/Branch
          mceclip23.png

        10. Rate = Avionte Assignment Pay Rate
        11. Hours = Avionte Timesheet Hours
        12. Amount = Avionte Pay Rate * Avionte Timesheet Hours
        13. Billing Address = Avionte Order Billing address

          mceclip24.png

      1. Burden % = Avionte Assignment Burden %

        mceclip25.png

          1. Markup % = Avionte Assignment Markup %
      2. Attached Files / Folder = Avionte Timesheet PDF / Default Netsuite Folder

 

Custom JSON

  1. Requires Avionte code changes to allow enable this per customer
  2. In Netsuite, a custom Transaction Line Field needs to be created to house the JSON.

    mceclip26.png

  3. Below are the fields/data points that are contained in the JSON
    mceclip27.png
  4. These data points are the same for all transaction line items on an invoice

 

 

Troubleshooting / FAQ

 Most silent errors can be found in the Avionte BOLD Error log, with the stack trace pointing to the issue.

  • Back Office Management Netsuite Setup & Editing page keeps spooling. No error is thrown to the user.
    • Check the error log, stack trace will point to the root cause.
    • Validate Netsuite Username / Password correctly entered into Avionte
    • Validate Netsuite permission settings from Step 1
  • Create New Netsuite Company spools
    • Check the error log, stack trace will point to the root cause.
    • Validate Netsuite permission settings from Step 1
    • Validate Country is filled out in the Create New Netsuite Company panel
    • Validate State field is two letter ISO State Code
    • Some Netsuite configurations do not have a “website” field by default on Customer profiles, try clearing out the Website field on the Create New Netsuite Company panel
  • Pay & Bill archive >> Send To Netsuite Errors. All errors that occur here are presented to the user. Most common error is caused by Company not being synced.
    • If a Company has not been synced to Netsuite from the corresponding invoice batch, you will be prompted with an error and an opportunity to click into the Company profile Edit Sync.

      mceclip28.png

    • An error might be thrown that states that either of the Classes OR Department OR Location is not found. These could be due to not all Avionte Regions / Divisions / Offices are properly synced. Go to Back Office à Management >> Netsuite Setup & Editing and verify all items are properly synced. If problem persists, try “editing” and re-syncing all items covered in section 3.
  • Pay & Bill archive à Send To Netsuite continues to spool and never completes invoice process
    • During peak hours (Invoice / Payroll day) this process can take up to 20 seconds per Invoice, so 100 invoices could take up 33 minutes to complete. If page continues to spool after anticipated time, refresh the page. If there are invoices remaining to be invoiced, attempt to Send To Netsuite. If problem persists, check the error log, root cause will most likely be defined in the stack trace.
  • Job Orders are set to consolidated invoice, but multiple invoices are being created for the customer in Netsuite
    • This is normally due to the Job Orders not being correctly set to Consolidated Invoices AND Billing Contacts not being the same on all job orders that need to be consolidated.
    • Sometimes this is due to running the Contractor Invoice process in multiple batches. It is recommended, to run the Contractor Invoice process for (by) Each customer that needs a consolidated invoice, and then the final batch for all remaining. This will allow for checks and balances before pushing invoices to netsuite.
  • Data on invoice is incorrect
    • If the invoice was created via the Send to Netsuite process AND data on the invoice is incorrect, that means the data in Avionte is incorrect. Validate invoice data points against Avionte Job Order / Assignment using data mapping from Section 5.a.iv

 

3rd party link Disclaimer: These links are being provided as a convenience and for informational purposes only; they do not constitute an endorsement or an approval by [The author] of any of the products, services or opinions of the corporation or organization or individual. [The author] bears no responsibility for the accuracy, legality or content of the external site or for that of subsequent links. Contact the external site for answers to questions regarding its content.

 

Articles in this section

Was this article helpful?
0 out of 0 found this helpful
Share

Comments

0 comments

Please sign in to leave a comment.