NetSuite is at its core an accounting software that links to all parts of your business. It's a robust, cloud-based financial management solution that provides you with real-time access to live financial data. This powerful tool, used by over 38 000 companies worldwide, streamlines all financial business processes, from order management to financial close, billing, and revenue recognition.
Managing all of your subsidiaries in one single accounting software is what NetSuite does best. You can tailor it to your unique needs, but there are a bunch of best practices to help you get started.
In this page we go through the main benefits of NetSuite and dig into the day-to-day accounting processes.
NetSuite's Accounting Software is a powerful, versatile financial management solution that can meet the needs of any business. Its robust features, combined with its ease of use and flexibility, make it an excellent choice for businesses of all sizes and industries.
You can take your accounting to the next level and automate almost all tasks using workflows and scripts.
In addition to making day-to-day accounting easy, NetSuites ERP will help you run your business like a well-oiled with machine.
Accounts Receivable
Sending invoices is one of the most important tasks of any business. You can easily shorten the credit-to-cash cycle using NetSuite's Accounts Receivables. Its quick to generate and send invoices, and there are a ton of features to get your books in order.
Accounts Payable
NetSuite can be used for the entire invoice-to-pay process, from data-capture to reconciliation. You can also automate much of the process - in a perfect setup purchase invoices will be captured automatically, prefilled with the correct accounts and dimensions, routed to the correct approval cycle, fraud checked and finally reconciled.
Expense Reports
As an accountant, you can handle expenses, credit card transactions, reimbursements and reconciliation. Your employees can create the Expense Reports in NetSuite or using an external Expense Software that is integrated with your NetSuite.
Payment Processing
NetSuite can generate payment files for vendors bills, employee expenses, customer refunds, customer payments and payroll. These files are sent to your bank manually or through an integration such as Greenstep Banking.
Bank Account Reconciliation
The Greenstep Banking setup will fetch your bank statements daily and save them to your NetSuite File Cabinet. Reconciliation is automated for most transactions, but you can still manually reconcile if needed.
Journal Entry and Approval
Creating and managing journal entries is the backbone of accounting. You can create them manually, by importing CSV files, through recurring memorized journals, or through an integration. With NetSuite, you can also create advanced intercompany journals.
Advanced VAT settings
The country-specific VAT codes will be created and updated automatically in NetSuite, ensuring easy global VAT reporting. Every transaction line can have a VAT Code used to perform the needed bookings and recordings for VAT reports.
Fixed Asset Management
The Fixed Asset Management Suiteapp is an automated management system for fixed asset acquisition, depreciation, devaluation and retirement.
Inventory Management
Track inventory, orders and sales throughout the inventory life cycle automatically, and make decisions based on clear visibility into inventory liabilities, like slow-moving or excess stock.
Intercompany Management
NetSuite makes accounting for group companies a lot easier when all companies are in the same system. Intercompany journals and invoices can easily be created and eliminated.
Closing Accounting Periods
When closing in NetSuite you will get a convenient list of closing tasks to follow. Eliminate and close your Subsidiaries on by one or all at the same time.
Financial Reports
The Financial reports contain everything an accountant needs, including budgeting, regulatory reports to Intrastat, Financials in IFRS and other local standards. Reports can easily be customized when needed. For real time dashboards and deeper analysis, we recommend using BI Books Power BI reports for NetSuite.
BI Book integration
A state-of-the-art data warehouse and reporting solution enabling you to visualize your data in a format that will please any decision makers, and allow for deep analysis including drill-down to individual transactions.
Other Integrations
You can easily integrate any software to NetSuite. If you have a separate HR master data software, we recommend integrating it to NetSuite.
Everything you need to know about Accounting in NetSuite
The beauty of NetSuite is that all entities are linked together, meaning that you can do everything in one system.
Whether you're new to NetSuite or a NetSuite veteran wanting to know more, here's a comprehensive list of NetSuite's core accounting entities and how to work with them in you day-to-day accounting.
Keep in mind that your NetSuite can be setup in a different way, but here we'll go through NetSuites accounting features, best practices and some of the Greenstep specifics.
Sending invoices is one of the most important tasks of any business. You can easily shorten the credit-to-cash cycle using NetSuite's Accounts Receivables. Its quick to generate and send invoices, and there are a ton of features to get your books in order.
NetSuite's accounts receivable is a core accounting feature, meaning that transactions will have a direct General Ledger impact when saving.
Three ways to send invoices in NetSuite
You can generate invoices directly in NetSuite, mass import them through CSV or add them through an integration. Once your invoices are generated and approved, you can send them through:
Email - Navigate to the Transactions tab and select Sales -> Create Invoices -> List. From the Actions dropdown in this view, you can select Email to send the email invoice. If you want invoices to be automatically sent when saved, you need to check the "To be e-mailed" checkbox under Communication -> Messages.
E-invoice - NetSuite has a SuiteApp for creating e-invoices as XML documents in the most common formats (Peppol, UBL, Finvoice, Svefaktura etc). These invoices have to be sent through an e-invoice operator. At Greenstep we've built an integration between multiple e-invoicing operators such as Basware and Maventa.
Mail - If you still wish to send invoices through normal mail, that is also possible but not recommended.
Tracking accounts receivable in NetSuite
NetSuite divides sales transactions to invoices and credit memos. Keep in mind that these are two different transaction types, and you can view them through these reports:
The Open Invoices report shows only the invoices. This report has "as of dd.mm.yyyy" search criteria which enables you to track the balance of any date - past, present or future. The report collects data from every COA account that has type Accounts Receivable, and the data is divided by these accounts. We recommend that you customize the report and add due date as a search filter and switch the sort order from invoice date to due date.
The A/R Aging Summary summarizes data per customer.
The A/R Aging Detail shows the balance of each transaction.
The Individual Statement shows the balance and all transactions of one selected customer. You can print a PDF including only open transactions after selecting the Statement Date and Start Date.
We recommend reconciling the balance of open invoices in credit memos on sales reports to the accounts receivable balance on the balance sheet.
Sales transactions General Ledger impact
NetSuite always shows the General Ledger impact of a transaction on the G/L impact subtab. here's an example of a usual booking on a sales transaction:
Transaction
Debit
Credit
Invoice
Accounts receivable
Sales
Customer Payment
Undeposited funds
Accounts receivable
Bank Statement
Bank account
Undeposited funds
The customer payment can also be booked straight to the bank account which received the money. If the undeposited funds account is used, we recommend tracking the account balance regularly.
By default, NetSuite uses the account that is set as the Default Receivables Account in the Accounting Preferences -> Item & Transactions view. This usually requires admin-rights to change. If needed, you can also set a default accounts receivable account on a customer basis from the Customer record -> Accounting subtab.
Customer payment applications
First you have to setup a banking integration get reference payments to your NetSuite. With the use of Greensteps banking solution, reference payments will be automatically saved to your FileCabinet, and applied to open invoices automatically. The Customer Payments can be found on the Customer Payments page.
If the reference payment file includes payment transactions that can't be automatically linked to any open invoice (ex due to a wrong reference numer or currency), we recommend automating allocating these payments to a Fictional Customer called for ex "Unallocated Reference Payments". Then you need to have a process to regularly move the payments to the right customer and invoice by editing the transaction and selecting the correct customer and invoice/invoices. You can also setup a reminder of these unapplied payments on your Dashboard.
Dealing with manual payments that aren't applied automatically
If you are paid manually or if the Customer Payment comes without a reference, then you might need to create it manually by navigating to Customer record -> Accept Payment or from Invoice -> Accept payment.
After clicking Accept payment, you need to fill in the Header Information including Customer, subsidiary, currency, account, date and memo. Then apply the payment to the open transactions listed below.
Note that if it is a partial payment, you can edit the amount in the Payment field.
Dealing with Over payments
If a customer has paid more than the open balance of the sales transactions, first create a journal and select the customer in the Name column, then link this journal booking (under the Invoice subtab) and overpayment (on the Credits subtab) on the Accept Customer Payments page. You can then return the money to the customer by creating a Vendor Bill and posting it to the other liabilities account.
Dealing with Under payments
If a customer has paid less than the open balance of the sales transactions, but the difference consists of ex. bank transfer costs or other costs that won't be collected from the customer, first accept the payment with full amount and then create a journal for the missing amount - set Debit to bank transfer costs and Credit to the bank account. This Journal doesn't need to be linked to any transaction.
Credit memos for inventory items
If your company is using inventory items and these transactions need to be credited, keep in mind that the inventory values are directly linked to item transaction lines. To get the item receipt and credit memo in the right order, we recommend processing the credit using Authorize return (from the invoice or sales order).
If a customer needs to be credited so that the inventory values stay untouched, go to the Invoice -> Credit and choose a non-inventory item on the transaction lines. If you don't have a non-inventory item please create one first.
Credit memo of non-inventory service items
If a sales invoice with non-inventory or service items needs to be created, do so from the Invoice -> Credit - and the credit will be automatically applied to the open balance of the original transaction. Make sure that the Credit memo has the correct date and amounts. For partial credit - edit the line amounts and amount on the Apply subtab.
Journal Entries for special AR cases
Adjustments to accounts receivable can be made with a Journal Entry, for ex in the following cases:
Credit loss -> Booking to P&L
Rounding differences -> Booking to P&L
Insignificant over or under payments -> Booking to P&L
Inter Company (IC) invoice transfers to IC loans
Editing the date of sales transactions
You can edit the transaction and change the date if the transaction is on an open period. Editing the date will also change the Posting Period. NetSuite calculates the due date based on the date and terms behind the customer record, but if needed you can also manually adjust the due date.
Using the Basware/Maventa - NetSuite integration for Sales Invoices
Basware and Maventa are among the world's largest invoicing companies through which you can send invoices as electronic invoices, emails or through regular printed mail. When Greensteps Basware or Maventa - NetSuite integration is set up, you can choose which way the invoice is sent to the customer under the Customer record - Financial subtab. The alternatives are:
Electronic OVT - the customers OVT number will be used
Email - The customers email adress is used
Electronic IBAN - the customers IBAN will be used
Print at operator - The customers physical adress will be used
Manual - this can be used if you wish to manually send the invoice to the customer
There's an approval flow for the sales invoices. When the sales invoice is approved and saved the invoice will be sent, and Basware's / Maventa's confirmation will be shown under the Invoice sent to Basware / Maventa field in the Custom tab. Here you can also review the status of the invoice - when it was received by the customer.
NetSuite can be used for the entire invoice-to-pay process, from data-capture to reconciliation. You can also automate much of the process - in a perfect setup purchase invoices will be captured automatically, prefilled with the correct accounts and dimensions, routed to the correct approval cycle, fraud checked and finally reconciled.
Accounts Payables functionality is great in and of itself, but to take the automation a step further we recommend having an e-invoice integration and using a SuiteApp such as GS A/P Flow.
Creating Vendors in NetSuite
A prerequisite to generating invoices is to create vendors.
Before creating a new vendor, ensure that it doesn't exist from the Global Search. If you have several subsidiaries, it might be created for another subsidiary, so make sure you have a role that can see the vendors of all subsidiaries.
Once you are sure that it doesn't already exist, open the list of vendors and select create a new vendor. Then you will need to fill in the following info:
Primary Subsidiary
Default Reviewer & Approver
Email for payment notifications
E-invoicing address
Under the subsidiary subtab you can select the subsidiaries who can use this vendor
Note that if you have set a tax code for the subsidiary, then it will overwrite the one that comes from the e-invoicing data
Under the Address subtab you need to fill in at least the country
Under the Financial subtab you need to fill in the following
Default expense account
Default payables account
Tax Reg. Number
Department
Primary Currency
Under the Entity Bank Details you can select the Payment File Format, select the type and fill in the IBAN and BIC. For Non-Sepa payments you can use our GS CrossBorder template where you need to fill in more info. Note that the default bank details behind the vendor will be used - not the ones coming on the invoice.
If Greenstep has setup your NetSuite, our e-invoicing integration will check the e-invoicing address field on the vendor record and recognize the vendor based on this. If the e-invoicing address is missing or is incorrect, the Vendor bill will be saved to the default vendor - which you can change when processing the vendor bill.
Receiving Vendor Bills through e-invoice providers
When setup by Greenstep, your electronically received invoices will be added automatically to NetSuite from your e-invoicing provider (Basware/Maventa/Other). All new vendor bills will be shown in the Reminders section on the home screen.
Manually entering Vendor Bills to NetSuite
To manually enter Vendor Bills, navigate to Vendors -> Purchases -> Enter Bills. From here:
Select the Vendor
The default reviewer and approver and expense accounts will be automatically added from the settings behind the vendor
Insert the
Invoice number
Currency
Set a Payment hold if the bill shouldn't be paid even though it has been approved in the system (remember to uncheck when it can be paid)
Date (will be used as the posting date)
Due Date
Reference Number
Subsidiary details
When setup by Greenstep, the vendor payment details will be added automatically.
Booking the Vendor Bill
The Default expense account comes from behind the Vendor. Greensteps account automation will suggest the expense accounts and dimensions on each invoice line. The Tax codes come from the e-invoice if not set behind the vendor.
You can inspect the PDF under Images and Attachments. To see the image on the Vendor Transaction, tick the Image box.
If you wish to add comments on the invoice, go to Communication and select the User Notes subtab.
Vendor Credits
Vendor Credits in NetSuite have their own transaction type which behaves differently than the Vendor Bill. Vendor Credits are posted directly to the General Ledger when they are saved. Vendor Credits use the same approval routing setup as Vendor Bills. Vendor Credits need to always be applied to open Vendor bills approved vendor bills before paying the bills. To apply the Vendor Credit to a Vendor Bill:
Open the Vendor Credit in Edit mode
Navigate to the Apply Subtab and select the Bill you want to apply the credit to.
The Credit is applied to the bill by the date of the Bill Credit.
You can also apply Vendor Credits to Bils from the Pay Bills -> Reminder view as follows:
Mark the Bill and Bill Credit you want to use on the Bill
Change the Bill Line Payment Amount to match the Vendor Credit amount, so that you only pay the amount that you have the credit for.
Save the record. Now you can review the Bill Credit you have applied to the Bill under the Related Records.
Discount amounts
General Payment terms can be added from Accounting lists. If the Vendor uses payment terms, this needs to be set behind the Vendor record. The Discount amount and discount rate are visible on the Bill record.
Accounts Payable Audit trail
The General Ledger account for making payments is set in under Payments -> Setup -> Bank Details. Payments will be done by each Accounts Payable account separately, ex:
Type
Debit
Credit
Vendor Bill
Expenses
Accounts Payable
Bill Payment
Accounts Payable
Bank Account
Amortization of Expenses
You can set and use amortization schedules for the Vendor Bills. Select the Amortization template, then set Amortization Start and End dates. When you save the transaction the system will generate the Amortization Schedule, which is the basis of the amortization journals.
Creating an Amortization Template
Behind the Amortization template you can define the amortization setup. Defined settings are Amortization method and Amortization account (deferral account). We recommend leaving the target account field empty so that the expense account can be inherited from the transaction (Vendor Bill or Journal Entry). The period can also be left empty so that you can set it on each transaction. We recommend adding the deferral account in the name of the template.
Changes in the Amortization Schedule
You can delete the Amortization schedule when you edit the original expense line on the Vendor Bill. If you are unable to edit the Vendor Bill, you can apply the "is recognized" status to the unrecognized lines after which these will not appear on the amortization journal run. Then you can create a new amortization schedule through a normal journal entry. To sustain a good Audit Trail, we recommend that you add the original Vendor to the name field on the journal line and the original Bendor bill number to the memo trail.
As an accountant, you can handle expenses, credit card transactions, reimbursements and reconciliation. Your employees can create the Expense Reports in NetSuite or using an external Expense Software that is integrated with your NetSuite.
When approved, these can be paid through your normal NetSuite Payment Processing. The General Ledger impact will appear when the Expense is Accounting approved. We recommend setting up a Reminder in the Home dashboard to see Expenses pending approval.
We recommend using Bezala for expense reporting, which will make the employee experience a lot smoother. Bezala creates native Expense reports in NetSuite with the following data:
Employee name, expense category & account, amount, vat amount, memo, receipt date, department, class, custom segments and a link to the original image
All transactions from the same employee will be grouped in one Expense Report with each transaction as its own line.
If you are using the Employee Center, your employees will see their own expense reports in NetSuite.
Credit Card transactions
Expenses paid by company cards should be handled under the Credit Card Charges in NetSuite. The General Ledger Impact of a Credit Card Charge comes when the record is saved to NetSuite (no approval needed).
Bezala will automatically create the Credit Card Charges in NetSuite when the receipts are approved in Bezala.
Credit Card Bills can be reconciled to Credit Card transactions using the standard Reconcile Credit Card functionality in NetSuite.
NetSuite can generate payment files for vendors bills, employee expenses, customer refunds, customer payments and payroll. These files are sent to your bank manually or through an integration such as Greenstep Banking.
To start off with, we recommend setting a reminder on your dashboard with Bills to Pay. With Greensteps payment processing setup, you can easily send payment files to your bank. Navigate to Payments -> Bill payment processing and fill in the following
Bank Account - Select the bank account from which you want to make the payments
Select the Accounts Payable account where the Vendor Bills have been booked
Select the payment date
If you wish, you can aggregate bills paid to the same vendor, but normally we do not recommend doing this
Set the EFT File Reference Note: This needs to be unique, ex PaymentsDDMMYYY
Select the bills which you wish to pay
Click Submit
The payment file is saved to the file cabinet and will automatically be moved to your bank through the Greenstep Banking tool. Rollbacks can be done on the same day.
Payment reversal
If there was an error in the payment, you can reverse the payment. Choose the payment file from the Payment File Administration -view
Push Reverse Payments and Choose all.
Give a reason for the reversal
Choose all bills from the list to be reversed
Set the original payment date as the date
Make corrections and create the payment file again
The Greenstep Banking setup will fetch your bank statements daily and save them to your NetSuite File Cabinet. Reconciliation is automated for most transactions, but you can still manually reconcile if needed.
To reconcile the transactions, navigate to the Confirm Transaction Matches page and select the bank account.
The Statement Transactions section shows all transactions on the bank account statement
The NetSuite Transactions section shows all General Ledger transactions on this bank account
The Unmatched subtab shows all Statement transactions and NetSuite transactions that need to be matched.
The Review Matches subtab sows all NetSuite transactions matched to Statement transactions.
Most transactions should be automatically matched together, based on the default reconciliation rules and automation.
To manually reconcile, Select the lines from the Statement, and the corresponding NetSuite transactions and Match when there is no difference. These transactions will then transfer to the Review Matches subtab.
When the Statement transactions doesn't have matching NetSuite transactions, those need to be created first and then matched together.
Create needed Customer Payments to invoices
Adjust Vendor Bill payment currency exchange rates by opening the Bill payment transaction and changing the Exchange Currency rate to match the rate on the bank account statement
Create the Journal by choosing Statement transaction and then click Create.
NetSuite will automatically populate and match the difference amount to the bank account transaction line. Add the needed lines and save.
Note that every NetSuite transaction needs to be matched to some Statement transaction. If you have booked reversal entries to some failed Vendor Bill payments, include those NetSuite transaction lines with other transaction matches.
When all Statement transactions have been matched, click Confirm matches and then click Reconcile Account. You will then be navigated to the Reconcile Account Statment page, where you need to confirm that the Ending Statement Balance is the same sas on the Bank account. After that, click Close Statement - now the Reconciliation process is complete.
Creating and managing journal entries is the backbone of accounting. You can create them manually, by importing CSV files, through recurring memorized journals, or through an integration. With NetSuite, you can also create advanced intercompany journals.
Manually creating a Journal Entry in NetSuite:
Navigate to Financial -> Other -> Make Journal Entries to and fill in the following fields:
Currency = The Currency used in the creation of the journal. NetSuite will use the exchange rate setup, and the General Ledger impact will appear in your base currency.
Date = Transaction date - if you wish for this to be different from the posting date then you need to enable it in the Accounting Preferences
Posting Period = the Period which will be used
Reversal date = If you wish for the journal to be reversed automatically at some future date, select Defer Entry, and define the date
Memo = this text will appear on the General Ledger
Subsidiary = Select the subsidiary to which the Journal shall be booked before saving
Once the basic fields are filled in you can add the Journal Lines with the following info:
Account = the General Ledger impact account
Debit / Credit = the Net amount
Tax Code = select a Tax Code if the journal affects VAT
Tax Rate = select the Tax Rate of the chosen VAT Code (this step can be automated)
Gross Amount = Including VAT
Line memo = this text will appear on the General Ledger
Name = This is usually only used for transactions related to payment adjustments, here you can list of entities (customers, employees, vendors or projects).
Department, Class, Locations, Projects etc = Dimensions used for reporting purposes
Schedule = amortization schedule for the journal.
Start Date = amortization starting period
End Date = amortization ending period
VAT amount = Calculated VAT based on net amount and chosen VAT Code
Tax Account = Nature of the VAT transaction (Sales or Purchases) - Mandatory if a VAT Code is chosen
The Journal will be created when the transaction is saved. You can add an attachment under the Images and Attachment subtab. We recommend selecting a proper folder to keep the files organized.
Modify, Copy or Delete an existing Journal
You can copy or modify a journal by clicking Edit and the Actions dropdown. The accounting period has to be open to modify the journal.
Deleting a Journal Entry in NetSuite
You can delete a Journal in the Edit mode from Actions -> Delete
Memorize a Journal
A Journal can be memorized for future use in Edit mode from the Actions dropdown. When selected, you need to define the Memorized Transaction:
Name = the name of the template
Remind me / automatic = Should this transaction be created manually or automatically
Frequency = How often should it be created
Next date = When the next transaction will be posted
Remind forever / number remaining = Length of the memorized schedule.
When Created you can see the Memorized Transactions from the Reminders portlet on the Home page.
Advanced Intercompany Journal Entry
Intercompany journals book transactions to both companies at the same time. Navigate to Financial -> Other -> Make Advanced Intercompany Journal Entries. The fields are
Currency = the Currency that is used for the creation of the Journal. NetSuite will automatically update the exchange rate and the GL Impact will automatically appear in the base currency.
Date = Transaction Date
Posting Period = the Period which will be used
Reversal date = If you wish for the journal to be reversed automatically at some future date, select Defer Entry, and define the date
Memo = this text will appear on the General Ledger
Subsidiary = Select the subsidiary to which the Journal shall be booked before saving
On the line level you can select the following:
Subsidiary = the Subsidiary to which the line is booked, note that you need to have at least 2 rows and the debit and credit need to balance.
Account = Account that the line is booked to. We recommend that the account is determined to be eliminated in the Chart of Accounts
Name = Here you can list of entities (customers, employees, vendors or projects). Usually only used with transactions related to payment adjustments or if payment material is created through IC journals (ex Internal loans)
Eliminate = Shows if the row will be automatically eliminated as a part of the month end closing tasks)
Due to / from subsidiary = Name of the subsidiary that this transaction is linked to.
The Journal will be Created when the transaction is Saved.
Importing Journal Entries to NetSuite through CSV files
You can easily import Journals through CSV files. The file must be in CSV form, use the same date format as is used in your NetSuite. We recommend giving an external ID to every created journal which will make updating specific journals easier. The External ID can be for example a running format including the date DDMMYYY_1. If one CSV file has many journals, the different lines can be identified as one group by using the same External ID for those lines.
We recommend using Internal IDs for dimensions and subsidiaries instead of their names.
CSV file import
To import the file, go to Setup -> Import/Export -> Import CSV and upload the file. The import options are:
Add = choose this if you are creating new journals
Update = choose this if you are updating existing journals (Journal's External or Internal ID must be give on the CSV lines)
Add or Update = choose this, if you are both creating and updating existing journals in the same file.
Under the advanced options you can set the CSV decimal delimiter.
If you are importing a file that you have already saved as a template you can just click save. If you don't have a template for the file, you will need to mapp the fields. The fields that use the NetSuite field name will be automatically matched
When the mapping is done, click next and then click Run. If you are saving a new template, you also need to click Save&Run and give it a name.
You can see the status of your import when clicking View Import Job Status i the header. You will see if there are some transactions that weren't created successfully, to see the actual errors you need to download the CSV response. Fix the errors in the data and repeat the process until all transactions are successfully imported.
Every transaction line can have a VAT Code used to perform the needed bookings and recordings for VAT reports. VAT codes will be created automatically in NetSuite, but some special codes may be created by your administrator if needed.
VAT codes on transactions
The same codes can be used for both sales and purchases. The following transaction types will dictate how the VAT is handled:
Sales: automatically added for Invoice and Credit memo transactions
Purchases: automatically added for Vendor Bills, Vendor Credits, Credit Card transactions and Expense reports
Journal: every Journal line needs to also have a Tax Account selected to confirm how to handle the sales
VAT Code determination
NetSuite uses has an internal logic to determine which VAT Code could is the correct for each transaction line. The logic isn't always flawless, so please pay attention to the VAT code on each transaction.
The Tax schedule, selected on every item record, determines if the standard or a reduced rate is used for VAT calculations.
When the VAT code is saved on the Customer or Vendor record it will be used as default. For Sales transactions, if there is no default, the Customers Ship To Adress will be used to determine the VAT Code (Domestic, EU, Non-EU etc).
Tax Accounts
Every country/Nexus will have three VAT system accounts:
VAT on Sales
VAT on Purchases
VAT Liability
You can also add a default COA number to these.
VAT booking process and General Ledger impact
Based on the transaction type and the VAT code, NetSuite will book the VAT amount to the VAT on Sales and VAT on Purchase accounts.
Every month, we recommend that the total of these two accounts is manually booked with a Journal to the VAT Liability account and then matched to balance on the VAT reports. When the accounting period is closed the Tax period should also be closed from the Manage Tax Periods page.
VAT reporting and paying your VAT
To view the VAT reporting you need to have the Tax Reporting Accountant role, which can be given by your System Administrator. Unless a direct integration has been developed, NetSuite does not automatically report to the local tax authorities, so reporting should be done according to the Local Tax Authority reporting process. Here's the path to the most common VAT reports
Reports -> VAT/GST -> Tax Reports (International)
EU sales report for EU VAT Recapitulative Statement can be found from Reports -> VAT/GST -> EU Sales List (ESL) Report
EU VAT Report - Purchases by Tax Code
EU VAT Report - Sales by Tax Code
Intrastat reports can be found from Reports -> VAT/GST -> EU Intrastat Report
Paying the VAT can be done through a Vendor Bill, which you need to book to the VAT liability account.
The Fixed Asset Management Suiteapp is an automated management system for fixed asset acquisition, depreciation, devaluation and retirement.
New assets can be added to the system via CSV import or created from transaction asset proposals in te system. Before you can create an asset record in NetSuite, you need to create the asset types for the new assets.
Asset types
The asset type is mandatory on when creating an asset record in NetSuite. The asset type holds the master data of the asset, and the settings of the asset record need to be in line with the asset type. When you run the automatic depreciations or other Fixed Asset management related transactions, NetSuite will check the setting behind the asset type and if they are not in line with the asset record (lifetime, depreciation method, depreciation account etc) the system will not run the depreciations.
You can create new asset types by navigating to Fixed Assets -> Set up -> Asset Types -> New. The following information needs to be provided:
Primary: Name
Primary: Accounting Method
Primary: Residual percentage (if needed)
Primary: Asset lifetime
General: Depreciation active (True/False
General: Include in reports
General: Depreciation rules (The most commonly used rule is the "Acquisition", which means that the depreciation will start on the month of the purchase)
Accounts: Asset Account (the account used in purchase transactions for this asset type)
Accounts: Depreciation account (Depreciation account in your Balance Sheet)
Accounts: Depreciation Charge Account (Cost account in your Profit & Loss)
Write-off, write down and Disposal accounts (if needed)
When the information is provided, press save to create the new asset type.
Creating asset types for items that are not depreciated:
You can also create asset types for items that shouldn't depreciate but need to be listed for follow-up purposes. In this case set the depreciation method to Zero and set the expense account as the asset account. Setting the depreciation method to Zero will mean that there is no General Ledger impact.
Depreciation metods
You can also create your own Depreciation methods of assets. Navigate to Fixed Asset -> Set up -> Depreciation Methods. Here you can define how the monthly depreciations are calculated.
Creating new assets
New Assets are created from transactions that include the asset account on the posting. To create a new Asset, navigate to Fixed Assets -> Transactions -> Asset Proposal. Select the Subsidiary and click Propose New Assets.
NetSuite will go through the transactions and check if there are new transactions to create the asset proposal from, and automatically open the FAM process status page where you can see the status of the process you ran.
The status will be set to Completed when the proposals have been created. After this, navigate to the Asset Proposal page. From here you can edit the proposal and check that the settings are correct. If you edit the proposal, make sure that the settings on the Asset are in line with the Asset Type. At this point we recommend checking at least the following under the General subtab:
Department/Class on the asset (if added after the creation of the asset, this information will not be inherited to the depreciation journal)
Depreciation active: True / False
Depreciation rule (Acquisition)
Depreciation start date
When the changes have been done, press Save. NetSuite will navigate you back to the proposal page where you can select the proposal, assign it to the correct Subsidiary and press the Generate Assets button.
If you for some reason decide not to create an asset from the proposal you can reject it, but please remember to correct the original transaction or the transfer posting so that it doesn't have the account of the asset selected on the journal entry.
Depreciation Reports
We recommend that you run the Depreciation Schedule - Period Depreciation Report monthly before you run the actual depreciations. To do this, navigate to Fixed Assets -> Reports -> Generate Reports. On this page, select the following:
Report Type: Depreciation
Start and end date: the Ongoing fiscal year
Subsidiary
And then press the Generate - button. You can find your report by navigating to Fixed Assets -> Reports -> My reports
You can open the reports as XML or PDF from the page. Here's what the PDF will look like:
Monthly Depreciations
When a new asset is created, NetSuite will generate the depreciation schedule to the asset which can be found under the Depreciation history- subtab on the asset record. When clicking view, you will see the Depreciation History of the asset.
When you want to run monthly depreciations, navigate to Fixed Assets -> Transactions -> Asset Depreciation. Select the subsidiary and depreciation period and press the Depreciate Assets - button. NetSuite will take you to the process status page where you can see when the depreciation run has been completed and the Journal Entries are created.
Asset Disposal
To dispose an Asset, you need to create a transaction where you can either sell or write-off the asset. The posting of the disposal transaction depends on the setting behind the asset type. After running the disposal, the asset status is Disposed and the net book value is 0.
The easiest way to find the disposal journal entry is to open the Depreciation history page from the Depreciation history subtab.
Track inventory, orders and sales throughout the inventory life cycle automatically, and make decisions based on clear visibility into inventory liabilities, like slow-moving or excess stock.
NetSuite uses Cost of Goods Sold - COGS booking logic, meaning that purchases related to Inventory Items are booked to the Inventory Asset Account when the Items are received. The Item cost will be booked when the item is sold and fulfilled, and the revenue will be booked when the Invoice of that sale is created.
We recommend creating the invoice as soon as possible after the Fulfillment to ensure that the cost and revenue are booked within the same period. Because of this COGS logic, you can't see the sum of purchases during the year from the P&L.
Inventory bookings
Here is a summary of how the Inventory bookings work
Type
Posting
Comment
Debit
Credit
Purchase Order
No
No GL impact, but the future GL impact of the selected items can be seen on the Purchase Orders General Ledger impact sheet.
-
-
Item Receipt
Yes
Created from the Purchase Order.
Inventory
System account - Inventory received not billed (or Accrued Purchases)
Vendor Bill
Yes
Created from the Purchase Order
System account - Inventory received not billed (or Accrued Purchases)
Accounts Payable
Sales Order
No
No GL impact, but the future GL impact of the selected items can be seen on the Sales Orders General Ledger impact sheet.
-
-
Item Fulfillment
Yes
Created from the Sales Order.
COGS
Inventory
Invoice
Yes
Created from the Sales Order.
Accounts Receivable
Income
Average Cost method in NetSuite
The Average cost is calculated daily, and it includes only the transactions that increase the inventory balance. Transactions that decrease the inventory uses the average cost of that day. The daily average cost is automatically recalculated after every addition to the inventory balance after which the booked cost is updated.
The method used in calculating average cost in NetSuite is the Periodic Average Cost Calculation Method.
Manufacturing bookings
The Manufacturing bookings (Work In Progress and Scrapping) are based on your setup under Setup -> Accounting -> Accounting Preferences: Items/Transactions -> Cost Accounting. The most common options are:
Average cost completion unit cost = Open WIP Amount
Costing method = Average
WIP - Work in progress
The WIP account collects the bookings of the manufacturing transactions such as use of materials, time entry, completion and potential scrapping. NetSuite books manufacturing transactions from the Inventory account to the WIP account and vice versa without causing any change in the value of the accounts.
Use of material can be processed separately from the work cost as a Work Order Issue or as A Work Order Completion (Used when time entries need to be accounted for).
Time Entry
The time entry is done by operations, which determine how much of that operation is already completed (measured in production order units) and NetSuite then calculates an estimate (standard time) after which you can edit the estimation based on accruals.
The labor cost is determined on the Manufacturing Cost Template register by operations. The costs are based on Cost Categories and each operation may include one or more categories. Cost Categories include information about the price, expense account and the cost type (direct cost/overhead, Labor Setup, Labor Run, Machine Setup, Machine Run).
Completion
The completion will be booked when the last operation is completed or via partial completion of operations if the completion will be done in many parts.
The completion will be booked to the inventory items inventory account with the value that has been collected to the WIP account during different operations such as material and service costs. If the completion is done in many parts, the booking to the inventory account will be adjusted with the completed quantity.
Scrap
Scrapping will be done with completion. You need to input the quantity of defective materials, and the Scrap cost will then be booked from the WIP account to the Scrap expense account.
The scrapping process includes several options which are not described here but can be found in the SuiteAnswers or by asking Greensteps support team.
Assembly builds
If items are manufactured without work cost or scrap, then the transaction to be used is called Assembly Build. The Assembly build books the item costs from the inventory account to another inventory account without landing on any WIP account in between.
NetSuite makes accounting for group companies a lot easier when all companies are in the same system. Intercompany journals and invoices can easily be created and eliminated.
Setting up your NetSuite for automatic Elimination
In order for NetSuite to eliminate the Intercompany transaction automatically turn on the "Eliminate Intercompany transactions" setting behind the General Ledger account. The transactions entered into NetSuite after turning this on will be automatically eliminated.
Advanced Intercompany Journal Entry
The Advanced Intercompany Journal Entry can be used to add General Ledger transactions between multiple subsidiaries that you want to be eliminated automatically.
On the journal you need to add the following information
Subsidiary
General Ledger Account
Amount
Name (Vendor or Customer if Accounts Payable or Receivables account)
Possible dimensions (Department, Class)
Eliminate checkbox (this will by default be set to yes for Intercompany General Ledger Accounts)
Due to/from subsidiary
Intercompany invoicing
To use Intercompany invoicing, you need to create Intercompany customers and vendors which are to be used on the intercompany transactions.
The required fields on the Intercompany customer and vendor records are:
Name = Subsidiary B - IC Customer/Vendor to Subsidiary A
Subsidiary = Subsidiary A
Represents Subsidiary = Subsidiary B
Default Receivables Account = For IC Customers: Sales receivables, Intercompany. For IC Vendors = Debts for purchases, Intercompany
Primary currency = Use the currency of the Represents subsidiary
You also need to create intercompany items where you can define the accounts that NetSuite will use to post the Income and Costs.
We recommend posting the revenue from the Invoice instead of using the Advance Revenue Managment tool. Remember to check the "Direct Revenue Posting" checkbox.
Period end elimination tasks and the system accounts
NetSuite creates a month end task list, which you can find by navigating to Setup -> Accounting -> Manage G/L -> Manage Accounting Periods -> Period Close Checklist.
When clicking on the checklist, you will find two different tasks related to intercompany elimination. The tasks need to be completed in this order:
Update consolidated exchange rates
Automatic intercompany elimination
Consolidated exchange rates can be updated automatically, manually or via CSV import. When you are satisfied with the exchange rates, press the calculate buttons to update the exchange rates.
Alternatively, you can update Exchange rates from the month end task list, navigate to Setup -> Accounting -> Manage Accounting Periods and open the checklist of the month in question. Open the Task: Calculate Consolidated Exchange Rates and click on calculate.
The Consolidated exchange rates are calculated from the daily exchange rates in NetSuite with the following logic:
Current Rate
Updated with the rate in effect at the end of the period.
Average Rate
Updated with the weighted average, calculated according to the exchange rates and amounts for transactions applied to accounts with a general rate type of average during the period.
Historical Rate
Updated with a weighted average, calculated according to the exchange rates and amounts for transactions applied to accounts with a general rate type of historical during the period.
If you wish to update the rates, navigate to Lists -> Accounting -> Consolidated exchange rates, filter the month in question and click the edit button. Note that you can only update the rates of the actual intercompany counter parties.
Run the Automatic elimination
The Automatic elimination (Eliminate Intercompany Transactions) is the final taks before closing the accounting period on the Period Close Checklist. To start the automatic elimination run, open the "Eliminate Intercompany Transactions" task from the Period Close Checklist, and click "Run Intercompany Elimination".
The Automatic elimination run will start, and NetSuite will create journal entries on the elimination subsidiary. All transactions that have been posted to elimination eligible General Ledger accounts will be eliminated given that the Elimination box is checked on the transaction row or the transaction has been created on the intercompany customers and vendors.
All the differences on the journal entry (Foreign exchange rates or others) will be posted to the CTA-E (Cumulative Translation Adjustment - Elimination) account. If needed, you can split the amount from that account to different accounts through journal entries on the elimination subsidiary.
The Profit and Loss and Balance Sheet transactions will be posted to separate journal entries and the balance sheet elimination will be reversed automatically on the first day of the next month. P&L elimination will remain in the system and no reversal will be done.
When closing in NetSuite you will get a convenient list of closing tasks to follow.
NetSuite Closing Tasks
The accounting period will be closed from the Manage Accounting Periods page. We recommend accountants to add this as a shortcut in your dashboard.
You can also close multiple accounting periods at once, but you need to activate this feature separately.
Note that when closing Accounting Periods, NetSuite won't run any accounting period closing tasks, it will only close the periods.
The Closing task list will depend on the features that have been enabled in your NetSuite and the list is not editable. You need to perform the tasks in order from top to bottom. The usual task list would look like this:
Lock A/R
Lock A/P
Lock All
Review Open Foreign Exchange Rates
Eliminate Intercompany Transaction
Close
Locking the A/R, A/P and All can be done by subsidiary. Going straight to Lock All will also close the A/R and A/P.
Resolving Date/Period Mismatches
We strongly recommend that all inventory posting transactions have the correct alignment of the transaction date and the accounting period. A misaligned date and accounting period on a transaction may lead to inconsistent asset and inventory closing values in the accounting period. If there are mismatches between a transaction date and the accounting period, you can edit dates if needed.
As a preventative measure to avoid transactions with mismatched dates, you can set a preference to disallow or warn when posting the transaction date outside of the posting period.
Review negative inventory
When closing a period, identify any negative inventory values and correct those.
Review Inventory Cost Accounting
When closing a period, you need to run the cost accounting process for the period close. To complete this task, ensure that there are no costing items to be corrected and that inventory cost calculations are not already running. Please note the following:
To run inventory costing calculations, there must be no items on the Review inventory Cost Accounting page in the list of outstanding items to be corrected. If there are items on the list, wait until they are resolved. If an item can't be resolved, you can contact Greensteps support.
If inventory cost calculations are currently running or are deferred, you can't click the Review inventory Cost Accounting button.
If inventory costing calculations are currently deferred, you need to wait until the scheduler runs the costing calculations.
If inventory costing calculations are disabled, you can contact Greensteps support.
Review Inventory Activity
If you use NetSuite OneWorld, this taks opens a customizable version of the Inventory Activity Detail report where you can view specific inventory values. The report details are based on the item level total inventory value in a specific subsidiary context. The task doesn't require any additional actions given that the Inventory report doesn't include any incorrect transactions.
Revalue Open Foreign Currency balances
This task will create Unrealized Exchange Rate Gain/Loss postings automatically based on the open transactions (AP, AR) and it will be reversed on the first day of the next month.
If you need to post the foreign exchange differences to some other account than the system default, you need to run this task before closing the General Ledger.
When running the task, you can see a list of the accounts where Revalue Open Balances for Foreign Currency Transactions if they are checked on the General Ledger Account. We recommend that you go through the Chart of Accounts and remove unnecessary accounts from this functionality (such as the Bank accounts).
Create Intercompany Adjustments
This task will be visible if the Intercompany time and Expense feature is enabled in your NetSuite. Using this feature, employees can enter work hours to other subsidiary projects and the labor cost on the project will be transferred to the project subsidiary. Note that this function will not generate Intercompany Invoices.
GL Audit numbering
This task is only visible on the last month of the accounting period. It will remember the transactions and fill in the blank spots.
Close
Close the period. If needed, you can reopen the period from the same place.
If you need to edit a transaction on a closed period which won't affect the accounting (ex add a reversal date to the journal entry), you can add the Allow G/L Changes permission.
End of the year
NetSuite will close the accounting year automatically when you close the last period of the month.
Retained Earnings is a system account that NetSuite refers to when you run the financial reports. On your balance sheet, the retained earnings account and the net income account will together show your cumulative retained earnings at any point in time. The net income from the current fiscal year-to-date is displayed in the net income account.
Opening new accounting and tax periods
If you need to create a new accounting period, press Set Up Full Year and fill in the field and save. After this, check that the Tax Period is created. If not, you need to create new ones.
If the Accounting period is the same as the tax period, you do not need to close the tax period. If they are not the same, make sure you close the tax period before delivering the tax report.
NetSuites Financial reports contain everything an accountant needs, including budgeting, regulatory reports to Intrastat, Financials in IFRS and other local standards. Reports can easily be customized when needed. For real time dashboards and deeper analysis, we recommend to use BI Books PowerBI reports for NetSuite.
Financial Reports
If your NetSuite implementation is done by Greenstep, your company's Saved Reports will include the Financial Reports that have been modified to the local accounting format. The naming will include your company name, and the official term, ex CompanyX Official Balance Sheet. The reports that we normally create are:
Official Balance Sheet
Official Balance Sheet_detailed
Official General Journal
Official General Ledger Balance
Official Ledger Profit and Loss
Official P&L Statement
Official P&L Statement_detailed
Official P&L Statement Comparative
Updating Financial Reports
Financial reports are created by using Row Layouts which determine what accounts are summarized in which row on the report. Row layouts can be divided between many reports and updating the layout on one report will also affect the other reports using the same layout.
When a new account is created in the Chart of Accounts, it is important that you assure that this account will also be visible on the Financial Reports. If you use the same numbering principle when creating new accounts, then the account will be automatically visible on reports.
Every report has an owner in NetSuite, and only that owner or your administrator can edit the reports os that they are visible to others. You can see the owner by navigating to Customize -> More Details.
To update a Financial report, click Customize, and then click Edit Layout.
Find the row that you want to edit in the left Layout area and click it.
The settings will then be shown on the right side. Add the needed rows and account numbers. We recommend using the Account Number as a filter and to start the Description with "Starts with - " to make maintaining the report easier. Note that if the Use Expressions checkbox is checked, you must select the criteria of this section's rows must all fulfill (then use AND) or if just some criteria must be filfilled, use OR.
Adding Comparative Period Columns to Financial Reports
You can add comparative periods to Financial Reports as long as the needed accounting periods are created. References to periods that aren't created will cause the report to stop working. To add a comparative period, click Customize on the Financial Report Builder and go to the Edit Columns subtab. Then select the Financial: Amount from the left "Add Fields" area. Then you can edit the column setup:
Column label = the Header of the column in the report
Add Grand Total = Check this box to show the total in the bottom of the report
Alternative Period Range Type = Select "Relative to report date"
Cumulative value = Check this box
Alternative Period Range = Select the appropriate Comparative period (E.g. Last Fiscal year)
Then you can add a column for Difference calculation by clicking "Add Formula Field". Once again you need to setup the Column as mentioned above, but with the following new fields:
Formula type = Select the Difference X-Y
X = Select the appropriate column
Y = Select the appropriate column
Apply Formula to Grand Total = Check this box
Save
Intrastat
Intrastat Commodity Codes are maintained behind item records in NetSuite. To get reliable data you have to book sales and purchases with item records. A Commodity Code is a sequence of numbers that determine:
the custom duties and other charges levied on the goods
the preferential treatments that may apply to their import, and
the restrictions and prohibitions that may apply to the import, export or transit of the goods
The six-digit commodity codes are HS codes. They are used worldwide in monitoring trade volumes and applying international trade measures to goods. The HS nomenclature forms the basis for the 8-digit Combined Nomenclature, and the 10-digit Taric Nomenclature.
Eight or ten-digit commodity codes are used in import and export declarations and in statistics declarations on internal trade between EU countries (Intrastat declarations).
Intrastat data on Item records
The Commodity Code must be selected under the Tax Reporting subtab of the Inventory Item. Th Commodity Code Validation can be used to check that the selected Code exists but won't check if the combination is valid.
The Nature of the transaction code setup
When setting up your NetSuite environment the Available NOTC codes are listed in accounting -> Manage Tax Reporting -> Intrastat Reporting. The default NOTC code is selected per Nexus (Tax setup) on the Intrastat Defaults subtab.
Intrastat report
To see the Intrastat report, navigate to Reports -> VAT/GST -> EU Intrastat. We recommend validating the information on the report before delivering it to authorities.
Financial reports to PDF printouts
If you want to print a PDF of your report, we recommend using the Landscape orientation to enable clearer reports. To set your PDF reporting preferences, go to Home -> Set Preferences. On the Analytics subtab, you can set the following preferences:
PDF Page Orientation - Choose landscape orientation for your PDF pages
PDF Font Size - We recommend using 8pt
After saving the settings will be applied to your PDF outputs.
Budgets in NetSuite
When you have the Multiple Budgets feature enabled, you can add Budget Categories to your NetSuite by navigating to Setup -> Accounting -> Setup Tasks -> Accounting Lists -> New. If you want to follow the actual vs. budget figures on a subsidiary level the Budget Category should be set to local (leave the Global checkbox unselected) and the budget imported with the subsidiary base currency.
Budgets can be entered to your NetSuite manually or by importing a CSV.
To manually setup a budget, navigate to Transactions -> Financial -> Setup Budgets
To import a budget from a CSV, navigate to Transactions -> Financials -> Set Up Budgets -> Import. Download the Budgets Template file and fill in the necessary fields:
Account: Do not use numbers or internal IDs. If you have parents on the chart of accounts, add that to the name ex: Revenue: External revenue: Licenses
Year: you may find the correct form of the year from the page where you can manually enter the budget (ex FY 2025)
Subsidiary hierarchy
Numbers/amounts should not include a separator (,) or the Currency character (£).
If you have a separate HR master data software, we recommend integrating it to NetSuite.
With an integration you can sync the following data to NetSuite Employee Records:
Person number, first name, last name, Title, Email, Supervisor, BIC, Bank account number, Work relationship ID, Subsidiary, Company ID, Department internal ID, Person Group, Work end date, Address, Country code and if needed - SSN.
With Greensteps HR integration, we will automate the following cases:
A new employee is hired
When a new employee is created in your HR master data, the integration will automatically add it to NetSuite, and if needed it can also add the employee to Bezala or any other Expense software. If the employee needs access to NetSuite, your administrator can give that within NetSuite.
An employee moves to another subsidiary
We recommend to inactivate the old employee record, and create a new one in the new subsidiary. After this the HR integration will update the data behind the employee record in NetSuite, and if needed, pass it on to Bezala or any other Expense software.
An employee leaves the company
Before the employee record can be inactivated, all expenses need to be processed. After this our integration will also deactivate the employee in Bezala or any other Expense software.