Touch
Subjects ▼
About ▲ ▼
What Is It? ▲ ▼
It is used to export swiftpos Sales and/or Supplier invoice data to NetSuite racle's NetSuite Financials. It makes use of the SuiteTalk REST Web Services. The swiftpos Netsuite REST API Data Portal option supports the following API requests to NetSuite. Refer HERE for more information.
API Request |
Purpose |
Links |
POST |
To post sales/media/stock movements as a consolidated journal Entry. |
|
POST Vendor Bill |
To post Supplier Invoices. |
|
POST Vendor Credit |
To post negative Supplier Invoices (Credit Notes) |
|
GET Account |
To retrieve the General Ledger account codes from NetSuite and store the Account Internal Id. This will be used in Swiftpos to map account codes for Journal Entry, and also for Supplier Invoices (where the Supplier Account Code for “Accounts Payable” is defined). |
What Is Not Supported? ▲ ▼
- Currently GST or VAT taxes are NOT SUPPORTED for Australia and the UK. However, we do recognise that this will more than likely be a requirement in the future.
- Terminal Cash Offs.
What Is Required? ▲ ▼
- swiftpos v10.76+
- Venues will need to be registered for the swiftpos General Ledger > NetSuite REST API interface in order to gain access to this feature. Email registrations@swiftpos.com.au to obtain the appropriate registration.
- Venues will need to have access to a NetSuite Account for the NetSuite Financials platform.
- Accounts will need to be configured in NetSuite appropriate to the Venue's requirements and to ensure that Accounts are available to the swiftpos NetSuite REST API interface, for the purposes of account assigning/mapping. Refer HERE for more information.
- Venues wanting to implement the Product Level Blocking (PLB), will need to familiarise themselves with:
- The Product Level Blocking (PLB) feature.
- The EFT33 - Linkly (Food and Bev) Interface.
When Should It Be Used? ▲ ▼
Any swiftpos Venue that wants the ability to export Sales and/or Supplier Invoice data to Oracle's NetSuite Financials.
How To? ▲ ▼
- Assign/Map Accounts?
- Configure The End Of Day Process?
- Get Started?
- Import The Chart Of Accounts (COA)?
- Manually Export?
- Mark All As Exported?
- Order / Sell Using The PLB feature?
- Reset Trading Dates?
How To Assign/Map Accounts? ▲ ▼
This outlines how to assign/map the imported NetSuite Accounts to swiftpos Locations, Location/Media and Location/Master Group combinations.
How To Assign/Map Accounts? ▲ ▼
In Back Office select the Data Export > Data Portal > NetSuite REST API > Settings menu option, then for each of the tabs (located to the right of the Accounts tab), do as follows:
IMPORTANT
It is recommended that all rows, in each of the tabs, be assigned/mapped to a Netsuite Account.
However, there is the option of assigning/mapping a row to the Exclude from Export Account option. Ideally, this option should NOT be used as it can result in unbalanced Journals being generated which will NOT post into NetSuite successfully. The Exclude from Export (listed as the first entry in the Account drop down lists in the assigning/mapping tabs) Account option can be used to ensure specific Location, Location/Media and Location/Master Group entries are excluded from being exported.
- To assign/map a NetSuite Account to multiple rows, use the Filters and the Apply To options when available in the header section of each of the tabs:
- Select the Location Group from the Location Group filter drop down list.
- Select an Account from the Account filter drop down list.
- Select one of the Apply To options available and apply the selected Account to ensure it is assigned/mapped to the appropriate rows listed in the grid.
- If the Selected Rows option was selected, select the rows in the grid that are to be assigned/mapped the selected Account.
- If no Apply To options are available then, then when the Apply button is selected, the selected Account will be assigned/mapped to all rows in the grid.
- Select the Apply button to assign/map the Account.
- OR, to assign/map an Account to single rows, by selecting the Account from the drop down-list of Accounts in the right most column of the grid of each of the tabs.
- Select Save to save the changes.
- Repeat the above for each of the tabs (located to the right of the Accounts tab).
- A connection must be established with the Venue's NetSuite application. Refer HERE for more information.
- The Location Group (Venue) for which the Chart of Accounts (COA) is to be imported, must be selected in the Accounts tab. Refer to How To Add And Configure A Location Group To Connect To XERO for more information.
- Import NetSuite’s Chart of Accounts(COA). Refer to How To Import The Chart Of Accounts Into SwiftPOS for more information.
- Venues are implementing the NetSuite REST API interface for the first time, to interface with their NetSuite application.
- Venues are already using the NetSuite REST API interface and have imported an up-to-date version of the Chart of Accounts (COA). Refer to How To Import The Chart Of Accounts Into SwiftPOS for more information.
How To Configure The End Of Day Process? ▲ ▼
This outlines how to configure the End of Day process to ensure the exporting of General Journal and Supplier Invoice related data is done automatically as part of the End of Day process.
Notes ...
The same process applies to both the General Journals and the Supplier Invoices export.
In the Export screen, do as follows:
- Ensure the Include in EOD option is selected where appropriate in the General Journals and/or the Supplier Invoices sections of the screen.
In Back Office > Administration > Location Groups (Venues):
- Select the Location Group (Venue) in the grid, that needs to be configured for the End of Day Process.
- Select the Full Edit option at the bottom of the screen to open the Location Group Edit screen.
- Select the End Of Day option to open the End Of Day Options screen.
- In the grid navigate to the row containing the NetSuite REST API entry in the Process Description column.
- Ensure the checkbox in the Enabled column of the same row located above is selected.
- Select OK to save the change
IMPORTANT
The above steps will need to be completed for each of the Location Groups (Venues) that need to be configured for the End of Day Process.
- The Event Logs (SwiftPOS Applications > swiftpos SQL Application) will need to be regularly monitored to ensure the daily export of data to NetSuite is processing as expected.
How To Get Started ▲ ▼
This outlines the information and steps that are necessary to configure swiftpos in order to implement and test the Netsuite REST API Interface.
- The NetSuite REST API interface is Location Group (Venue) specific. Each Location Group (Venue) that needs to interface with NetSuite will need to be configured. Refer HERE for more information.
- The swiftpos End of Day Service supports the NetSuite REST API interface. Refer HERE for more information.
- Sales data is consolidated daily by location and posted as a journal. This is a balanced journal entry and includes consolidated movements for Income, Media, Cost of Goods, Stock Movements (including, stocktake, stock adjustments, stock transfers) and Stock on Hand.
Unlike other swiftpos Financial exports (such as Xero and MYOB), this export supports the exporting of transactions tagged with a swiftpos Event. This means rows in the export will be split by the Event they are tagged to. - Venues may need to enlist the services of an Accountant to ensure that their Chart of Accounts (COA) in NetSuite, is setup up and configured appropriately to support the swiftpos NetSuite REST API interface.
- Field Mapping
- Screens
The mapping of NetSuite to swiftpos fields is outlined below for:
JOURNAL |
|
NetSuite |
swiftpos |
approvalStatus |
Location Group |
currency |
Location Group (Same value for both JournalEntry and VendorBill/VendorCredit) |
custbody_ktsp_system_name |
Location Group Can define BOTH the “custom field name” and its “value”. (Same value for both JournalEntry and VendorBill/VendorCredit) |
customForm |
Location Group |
memo |
Location |
exchangeRate |
Location Group |
reversalDefer |
hard coded (false) |
subsidiary |
Location |
tranDate |
EJTable |
line: { |
|
items: [ |
|
{ |
|
account |
Location AND Master Group or Media |
class |
For sales tagged with an Event: EJTable connected EventDetailExternalID, then EventExternalId
For sales NOT tagged with an Event: Location Group default (defined specifically for JournalEntry) |
cleared |
hard coded (false) |
credit/debit |
EItemsJtable OR EJMediaTable consolidated |
department |
Location (Same value for both JournalEntry and VendorBill/VendorCredit) |
location |
Location (Same value for both JournalEntry and VendorBill/VendorCredit) |
memo |
Location AND Master Group or Media |
}, |
|
SUPPLIER INVOICE (Vendor Bill/Credit) |
|
NetSuite |
swiftpos |
entity |
Supplier record: Id |
account |
Supplier record then Location Group default |
currency |
Location Group (Same value for both JournalEntry and VendorBill/VendorCredit) |
trandate |
Invoice record |
duedate |
N/a - NOT SENT |
memo |
Invoice record |
custbody_ktsp_system_name |
Location Group Can define BOTH the “custom field name” and its “value”. (Same value for both JournalEntry and VendorBill/VendorCredit) |
department |
Location (Same value for both JournalEntry and VendorBill/VendorCredit) |
location |
Location (Same value for both JournalEntry and VendorBill/VendorCredit) |
class |
Location Group (defined specifically for VendorBill/VendorCredit) |
expense: { |
|
items: [ |
|
{ |
|
account |
Location AND Master Group |
amount |
Invoice record |
location |
Location - same as header level (Same value for both JournalEntry and VendorBill/VendorCredit) |
class |
Location Group (Vendor Bill specific) - same as header level |
department |
Location - same as header level (Same value for both JournalEntry and VendorBill/VendorCredit) |
}, |
|
IMPORTANT
It is highly recommended that the setup and configuration of swiftpos NetSuite REST API interface is done in Test environments initially. That is, test environments for both swiftpos and NetSuite.
For Venues that are contemplating using NetSuite for the first time and are wanting to make use of swiftpos NetSuite REST API Interface, ensure the following is addressed:
- Confirm the Venue has access to a test version of NetSuite for testing purposes. Registration. As a general rule the Venue would have a Netsuite consultant and a UAT environment would be setup specifically for that Venue. to which swiftpos would then be interfacing with.
- Confirm the Venue has configured a Chart of Accounts (COA) in NetSuite. Venues will need to configure Accounts in NetSuite appropriate to the Venue's requirements and to ensure that Accounts are available to the swiftpos NetSuite REST API interface, for the purposes of account assigning/mapping. Refer HERE for more information.
- Confirm the Venue has a swiftpos Registration. That is, the Venue will need to have a licence for the swiftpos NetSuite REST API GL interface in order to access this feature. Email registrations@swiftpos.com.au to request a registration to include this licence.
- For those Venues that want to implement the Product Level Blocking (PLB) feature, then they will need to ensure:
- Confirm the Post Financial Data option is selected for those Locations in swiftpos that will be exporting data to NetSuite.
- Import the Chart of Accounts (COA). Refer HERE for more information.
- Assign/Map the Accounts. Refer HERE for more information.
- Mark All As Exported. This may need to be considered when exporting for the first time. Marking all as exported will ensure that all current data will be marked as exported. Hence, providing a Venue with the option of NOT exporting historical data and thus providing a starting point for the first export. Refer HERE for more information.
- Reset Trading Dates. This allows Venue's to mark data for a selected Trading Date as NOT exported. Thus, allowing the data to be re-exported in a future Export. Refer HERE for more information.
- Export Data. Depending on the Venue's preferences, General Journal and Supplier Invoice related data can be exported as follows:
- Manually - This is achieved by using the Export screen to export data for specific Trading Dates manually. Refer HERE for more information.
- Automatically - This is achieved by configuring the swiftpos End of Day process and ensuring the NetSuite REST API is enabled in the End Of Day Options screen. Refer HERE for more information.
How To Import The Chart Of Accounts (COA)? ▲ ▼
This outlines how import the Chart of Accounts (COA) into swiftpos. Do as follows:
- In the Accounts tab of the Settings screen, select the Import Chart of Accounts option at the bottom of the screen.
- This will initiate the import process.
- Once completed successfully, the NetSuite Accounts should be listed in the grid section of the Accounts tab.
How To Manually Export? ▲ ▼
This outlines how to export General Journal and Supplier Invoice related data manually. In the Export screen, do as follows:
- In either the General Journals and/or the Supplier Invoices sections, select:
- Select from the drop-down list the Location Group for which data is to be exported.
- Select from the drop-down list the Location for which data is to be exported.
- Select from the drop-down list the Trading Date for which data is to be exported.
- Select the Export option to initiate the exporting of the data to NetSuite.
- After each Export check the Event Logs (SwiftPOS Applications > swiftpos SQL Application) for any errors.
- Refer to Troubleshooting for more information.
How To Mark All As Exported? ▲ ▼
This outlines how to mark all data as exported, thus ensuring all historical data is NOT included in any future exports. In the Export screen, do as follows:
Notes ...
The above may need to be repeated for each of the Venues' Location Groups when initially configuring swiftpos to Export to NetSuite for the first time.
Do as follows:
- In the General Journals section of the screen, select the Mark All as Exported option.
- Select from the drop-down list the Location Group for which data will be flagged as exported.
- Select from the drop-down list the Location for which data will be flagged as exported.
- Select the OK option to mark all General Journal related data for the current (Location Group / Location) selection as exported.
Do as follows:
- In the Supplier Invoices section of the screen, select the Mark All as Exported option.
- Select from the drop-down list the Location Group for which data will be flagged as exported.
- Select from the drop-down list the Location for which data will be flagged as exported.
- Select the OK option to mark all General Journal related data for the current (Location Group / Location) selection as exported.
How To Order / Sell Using The PLB feature? ▲ ▼
- Restricted Items Only
- Restricted and Non-Restricted Items
How To Reset Trading Dates? ▲ ▼
Notes ...
When resetting and exporting again, be sure that they DO NOT result in duplicates when imported into NetSuite.
This outlines how to reset a Trading date, thus ensuring all data for a selected Trading date is marked as NOT exported and hence can be included in future exports. In the Export screen, do as follows:
Do as follows:
- In the General Journals section of the screen, select the Reset option.
- Select from the drop-down list the Location Group for which data will be flagged as NOT exported.
- Select from the drop-down list the Location for which data will be flagged as NOT exported.
- Select from the drop-down list the Trading Date for which data will be flagged as NOT exported.
- Select the OK option to reset all General Journal related data for the current (Location Group / Location) selection as NOT exported.
Do as follows:
- In the Supplier Invoices section of the screen, select the Reset option.
- Select from the drop-down list the Location Group for which data will be flagged as NOT exported.
- Select from the drop-down list the Location for which data will be flagged as NOT exported.
- Select from the drop-down list the Trading Date for which data will be flagged as NOT exported.
- Select the OK option to reset all General Journal related data for the current (Location Group / Location) selection as NOT exported.
Screens ▲ ▼
Settings ▲ ▼
This screen is accessed from the Back Office by selecting the Data Export > Data Portal > NetSuite Rest API > Settings menu option.
- Configuration
- Accounts
- Account Assignment/Mapping Tabs
For each of the tabs listed below assign/map using the imported NetSuite Accounts to swiftpos Location, Location/Media combinations and Location/Master Group combinations as is appropriate. This can be done in bulk using the Location Group and Account filters, as well as the Apply To options (in the header section of the tab), when available in each of the tabs. Alternatively, this can be done individually row by row, by selecting the Account from the drop down-list of Accounts in the right most column of the grid.
IMPORTANT
It is recommended that all rows, in each of the tabs, be assigned/mapped to a Netsuite Account.
However, there is the option of assigning/mapping a row to the Exclude from Export Account option. Ideally, this option should NOT be used as it can result in unbalanced Journals being generated which will NOT post into NetSuite successfully. The Exclude from Export (listed as the first entry in the Account drop down lists in the assigning/mapping tabs) Account option can be used to ensure specific Location, Location/Media and Location/Master Group entries are excluded from being exported.
Used to configure the Connection, API Export and Location Level properties required for each Location Group (Venue) as required to ensure successful integration to NetSuite.
- Venue - Select from the drop down list the appropriate Location Group (Venue).
- Connection Properties
Configure the following as provided by NetSuite:- Account ID
- Consumer Key
- Consumer Secret
- Token ID
- Token Secret
- Company URL
- Rest Services Path
- API Export Properties
Configure the following as is appropriate:- Custom Property Name
- Custom Property
- Approval Status
- Currency
- Custom Form
- Default Class (Journal Entry)
- Default Class (Vendor Bill/Credit)
- Default Supplier Account
- Exchange Rate
- Location Level Properties
- Department - Select to open the NetSuite Department Records screen to configure the appropriate NetSuite IDs and Descriptions for each Location.
- Location - Select to open the NetSuite Location Records screen to configure the appropriate NetSuite IDs and Descriptions for each Location.
- Subsidiary - Select to open the NetSuite Subsidiary Records screen to configure the appropriate NetSuite IDs and Descriptions for each Location.
- Department - Select to open the NetSuite Department Records screen to configure the appropriate NetSuite IDs and Descriptions for each Location.
Displays a list of Account as imported (using the Import Chart of Accounts option at the bottom of the screen). Once imported, the remaining tabs to the right can be configured by assigning/mapping the imported Accounts in each of the tabs. For each Account imported the following attributes are displayed:
- Account Number
- Type
- Status
- Account id
- Add Row - Select add a
Cost of Sales Accounts Tab ▲ ▼
Tax Collected Accounts Tab ▲ ▼
Location Group and Account Filters ▲ ▼
Used to assign/map in bulk by selecting the Location Group and the NetSuite Account appropriate to the tab, before using one of the Apply To options available to assign/map it to multiple rows in the grid.
Filters
- Location Group – Select from the drop down list of available Location Groups (Venues).
- NetSuite Account (Media Account) – Select from the drop down list the NetSuite Account that will be used to assign/map to the SwiftPOS Location/Media combination.
Used to assign/map the selected NetSuite Account to the rows in the grid by using one of the following options:
- Selected Rows – Select to assign/map to all rows that are currently selected in the grid.
- Unassigned Rows – Select to assign/map to all rows that are currently DO NOT have an Account assigned/mapped in the grid.
- Selected Location – Select to assign/map to all rows in the grid that are associated with a selected Location.
- Copy Location – Select to copy the assignments/mappings of a selected Location to another.
Export ▲ ▼
This screen is accessed from the Back Office by selecting the Data Export > Data Portal > NetSuite Rest API > Export menu option.
- Location Group - Select from the drop down list the Location Group for which data will be exported.
- Include in EOD - Select to ensure the export of data is included as part of the End of Day (EOD) process.
- Location - Select from the drop down list the Location for which data will be exported.
- Trading Date - Select from the drop-down list of dates the date for which data will be exported. If needed select the Refresh option (to the right of the drop-down list) to refresh the Trading Dates displayed.
Notes ...
Once exported, the data will be flagged as exported and the date will be removed from the Trading Date drop down list. This will ensure that the same data is NOT exported multiple times. It is important to note that even though the export for a specific Trading Date may NOT be completely successful, the Trading Date will still be removed from the drop down list. It is therefore VERY IMPORTANT to always review the Event Logs to ensure that any ERRORS are investigated and resolved in an appropriate manner.
- Export - Select to invoke the export. Once completed a prompt will be displayed confirming completion. All exported General Journals can be viewed in the Event Logs.
Notes ...
If no prompt is displayed and the Export appears to have completed without the selected Trading Date being removed from the list of available dates, this may point to a failure of being able to connect to NetSuite. Check the Event Logs > swiftpos Applications > swiftpos SQL Application for any logging that may have occurred. Refer to Troubleshooting for more information.
- Reset - Select a Trading Date to ensure that General Journal related data for that date are flagged as NOT Exported, so that they can be exported again. Select to display the following prompt:
- Reset continued ...
- Location Group - Select from the drop down list the Location Group for which data will be reset.
- Location - Select from the drop down list the Location for which data will be reset.
- Trading Date - Select from the drop down list the Trading Date for which General Journal related data will be reset.
Notes ...
When resetting and exporting again, be sure that they DO NOT result in duplicates when imported into NetSuite.
- Mark ALL as Exported - Select to display the following prompt and thereby ensure ALL General Journal related data in the selected Location is flagged as exported.
- Mark ALL as Exported continued ...
- Location Group - Select from the drop down list the Location Group for which data will be flagged as exported.
- Location - Select from the drop down list the Location for which data will be flagged as exported.
Notes ...
This is usually recommended when initially configuring swiftpos to Export to NetSuite for the first time and also, when there is a requirement that all existing General Journal related data for the current selection (Location Group / Location) needs to be flagged as exported.
- Location Group - Select from the drop down list the Location Group for which data will be exported.
- Include in EOD - Select to ensure the export of data is included as part of the End of Day (EOD) process.
- Location - Select from the drop down list the Location for which data will be exported.
- Trading Date - Select from the drop-down list of dates the date for which data will be exported. If needed select the Refresh option (to the right of the drop-down list) to refresh the Trading Dates displayed.
Notes ...
Once exported, the data will be flagged as exported and the date will be removed from the Trading Date drop down list. This will ensure that the same data is NOT exported multiple times. It is important to note that even though the export for a specific Trading Date may NOT be completely successful, the Trading Date will still be removed from the drop down list. It is therefore VERY IMPORTANT to always review the Event Logs to ensure that any ERRORS are investigated and resolved in an appropriate manner.
- Export - Select to invoke the export. Once completed a prompt will be displayed confirming completion. All exported Supplier Invoices can be viewed in the Event Logs.
Notes ...
If no prompt is displayed and the Export appears to have completed without the selected Trading Date being removed from the list of available dates, this may point to a failure of being able to connect to NetSuite. Check the Event Logs > swiftpos Applications > swiftpos SQL Application for any logging that may have occurred. Refer to Troubleshooting for more information.
- Reset - Select a Trading Date to ensure that Supplier Invoice related data for that date are flagged as NOT Exported, so that they can be exported again. Select to display the following prompt:
- Reset continued ...
- Location Group - Select from the drop down list the Location Group for which data will be reset.
- Location - Select from the drop down list the Location for which data will be reset.
- Trading Date - Select from the drop down list the Trading Date for which Supplier Invoice related data will be reset.
Notes ...
When resetting and exporting again, be sure that they DO NOT result in duplicates when imported into NetSuite.
- Mark ALL as Exported - Select to display the following prompt and thereby ensure ALL Supplier Invoice related data in the selected Location is flagged as exported.
- Mark ALL as Exported continued ...
- Location Group - Select from the drop down list the Location Group for which data will be flagged as exported.
- Location - Select from the drop down list the Location for which data will be flagged as exported.
Notes ...
This is usually recommended when initially configuring swiftpos to Export to NetSuite for the first time and also, when there is a requirement that all existing Supplier Invoice related data for the current selection (Location Group / Location) needs to be flagged as exported.
End of article. ▲