advanced revenue management

Accounting Periods

What are Accounting Periods?


Accounting periods are an artificial method used to make it easier to organize financial records and allow comparison between different time periods. Organisations deal with accounting periods by detailing transactions on an ongoing basis, but compiling the figures into totals for the period. This compilation process requires the organisation to carry out an administrative task that effectively resets the ongoing transaction record before recording new transactions in the new accounting period.

The importance of Accounting Periods in accounting


An accounting system has three broad purposes:

  1. To record all financial (in the broadest sense, not just cash) transactions
  2. To meet all legal and taxation requirements
  3. To provide information to allow managers and/or owners to make business decisions.

Accounting periods are irrelevant for the first purpose because such transactions are on-going but they are essential for the other objectives.

There are several assumptions that accountants make when preparing financial statements and analysts make when reading the statements. These are considered fundamental principles of accounting, more so than the financial standards developed by an individual company. Some key assumptions include that the business is a separate entity, that it is actively trading, and that it uses a consistent monetary unit.

Another key assumption is that the company’s activities can be divided into even and individual time periods. This is artificial, as a company’s trading activities are continuous and ongoing but is necessary to make sure there are regular and comparable sets of financial statements. Most commonly, a company will produce annual accounts, but it may also produce quarterly or monthly figures.

In the UK, limited companies have to produce regular accounts that can be audited both for registration with Companies House and for HMRC for corporation tax assessment. They also need periodic registration of VAT due and paid to calculate net VAT due to HMRC.

In order to ensure that such official reports are accurate – and remain accurate – it is highly advisable to both use and close off accounting periods. This is to prevent the possibility that future transactions (including journals or perhaps changes in currency rates) do not impact earlier reports.


Using Accounting Periods


The use of accounting periods means that a company carries out procedures in a consistent and repeated pattern.

This consists of two types of cycle: individual transaction and closing period.

Individual transaction.

This usually involves the transaction taking place, the company preparing the relevant documentation like an invoice, the company valuing the transaction and listing it in a relevant journal like that for sales or purchases, and the company copying across the transaction from this journal to the general ledger that acts as a combined record of all transactions. Note that most companies use a double-entry system by which each transaction is recorded in two ways in a journal; for example, a sale is listed once for the receipt of money and once for the loss of the item from stock.

Closing Period

The second cycle is the set of steps followed at the end of each accounting period. This involves verifying that the two sets of transaction listing in each journal add up to the same totals, correcting any errors, copying the details from each journal to the general ledger, preparing financial statements, and posting closing journal entries. This means that although the various journals like sales records are ongoing, there are clear boundaries between the accounting periods, and it’s easy to see the current total for any particular period.

NetSuite Period Close Checklist

This checklist describes the standard required tasks in sequence. Restrictions contained by this sequence can be overridden with the necessary permissions.

  • To close a period, first lock out transactions that post to Accounts Payable and Accounts Receivable.
  • Review accounts and perform any necessary adjustments. These adjustments can include transactions generated by the system such as intercompany adjustments and foreign currency balance revaluations in OneWorld accounts. Also, if using NetSuite OneWorld, update consolidated exchange rates to ensure that consolidated financials are accurate, and eliminate intercompany transactions if using the Intercompany Auto Elimination feature.
  • Reconcile negative inventory, correct transaction/period date mismatches, and validate gapless General Ledger audit numbering.
  • If Multi-Book Accounting is used, each accounting book can be individually closed and reopened.
  • Close the period to exclude all posting transactions. Later, if additional postings are required, the period can be reopened.

Intelligent Delivery

The range of delivery services provided by an e-commerce businesses can make the difference between a sale and a lost opportunity. Customers today may prefer to wait longer or to pick the order themselves from a pick-up point than to pay a delivery fee. Conversely, some clients would be ready to pay a higher delivery fee if the order will be delivered in the next 2 to 24 hours.

Your business needs to provide a wide range of delivery options to satisfy all customers. With NetSuite you can easily get your delivery process at very high standards. Keystone Data has developed a delivery script which can be customised to every business. This script takes into account the address of the client, the weight and the size of the item. It then returns a list with all delivery methods available. This script gives your e-commerce business the ability to make intelligent delivery not only in terms of what carrier to chose but also of what box type to chose.


  1. The ability to chose the best carrier/ delivery service for a specific address.
  2. Efficient matching of an order with a relevant box type.
  3. Freedom in choosing the date of the delivery.
  4. Increase efficiency and customer satisfaction.



Automatic Print Queue For NetSuite

Do you want to print invoice documents, item fulfilment documents etc. automatically? Look no further Keystone Data has the solution to your problems.

KeyStone Data has developed a custom record which makes possible automatic printing of every document inside NetSuite without the need of physically downloading it. This particular feature comes with unlimited freedom in selecting which printer to use for the job.



Another important aspect is the ability to send files/documents to different remote computers through a windows application and an associated restlet. For example, the ability to export any saved search result as a csv file. This functionality is used in many of the parcel carrier integration which Keystone Data provides such as: TNT mail integration, Royal Mail integration.

This record/app is very useful for companies that have high volumes of shipments and for any firm that wants to improve its efficiency.

To conclude, the below list contains the main benefits of this feature:

  1. This feature enables automatic printing/ updating of specific documents.
  2. Freedom in choosing the printer.
  3. Exporting data to a remote/local computer.
  4. Importing data from a remote/local computer.
  5. Saved search results can no be printed or exported automatically.

Please feel free to contact us for any questions.

Have a nice day!


Shipping Integration

In a world where efficiency is a key factor for the success and profitability of a business Keystone Data developed the perfect product to save time and effort. With just one click you will be able to send all the delivery details to your selected carrier and at the same time get back the tracking number assigned to that delivery.

Untitled-2At the point of shipping the order in NetSuite a script will send the shipment details to the carrier. Once the details are in, the carrier will send back the tracking number which will then be displayed on the dispatch e-mail and on the item fulfilment. Also carrier shipping labels will be automatically printed. Say goodbye to manually inputting the delivery details for each order.


  1. The product will speed up the shipment process and make it more efficient.
  2. The client has access to his tracking number withing seconds from the shipment of his order.
  3. Automatic printing of shipping labels for the desired carrier.
  4. Frees up human resources.


We encourage you to contact us and get a taste of this product which will change the way you ship items and it will give your business more freedom.

Have a great day!


kit components

Kit Components Tree

Hello Everyone!

We’ve just developed a new way of looking at your KIT components in a more user friendly manner.

As you can see in the picture below KIT5 is made of KIT1 which is made of inventory items INVN-1 and INVN-2. In a simple scenario where a KIT is made only of inventory items you could easily find and access them from the item tab. In a complex case where your KIT is made of multiple KITS which in turn are made of multiple items you would have to dig different levels and open many tabs to be able to access the information and then use the information to create a complete list of the components.

Luckily, we at KeyStone Data developed a custom high level visual map which is available at the KIT level and lets you navigate through all the components of your KIT. The way we do this is through an IFRAME which access a SUITELET. The SUITELET finds out the children of your particular KIT and returns it in a HTML format.


If you are interested about this bundle please give us a shout.


Hope this helps, Have a nice day!

KeyStone Data





Mass data deletion from NetSuite

Hello Everyone!


Today’s issue is related to cleaning a client account of test and unwanted items/transaction without manually deleting them one by one. NetSuite provides a Mass Deletion within Lists-> Mass Updates tab as you can see below.




The problem with this is that not everything can be mass deleted, for example you can mass delete Reports but you cannot do the same for Transactions. (see below pic)


Fortunately we at KEYSTONE DATA have the solution which can be customized to your needs.

  1. Create a Saved Search by the criteria you want.
  2. Implement a script which will delete all items from the Saved Search.

Please bear in mind that the maximum items/transaction that you can delete in the same time in NetSuite is 1000, thus if you would like to delete 10 000 items/transactions you just need to make the script loop(scheduled).


I hope this was helpful, have a nice day!




NetSuite – Aftership Integration

NetSuite as standard is integrated with UPS and FedEx. Also as a NetSuite partner we regularly integrate with other carries such TNT, The Post Office and Parcel Force for our clients.

These integrations allow us to automatically generate carrier labels when goods are scanned out of warehouse and pull tracking no. back into NetSuite. However in order to provide an excellent level of customer service we need to be able to update our customer at any moment in time on where exactly is their order. For example we ship one pencil and we get a tracking no. which we then use to interrogate our carrier website to get the details that we need.

One way of doing this is to create a script in NetSuite for each carrier, or you could use AfterShip app which will do this for you, thus you will only need to create one NetSuite script which links NetSuite to AfterShip. The result is that you reduce the number of scripts that you have to create/to run in order to have access to all your tracking no. independent of the carrier.



If you need more clarification don’t hesitate to contact us, thank you everyone and have a nice day!



Netsuite Available Kit Quantity

Hello people of NETSUITE land!

Today’s issue that we at Keystone Data tackled was to have the available kit quantity easily accessible for internal (client access-backend) and external(available on website-fronend) purposes. For example we need to calculate the available KIT A quantity which consists of 1 inventory ITEM GREEN,  1 YELLOW and 1 ORANGE each with their respective quantities.


In the above example the quantity for KIT A should be 2 because we only have 2 YELLOW items, thus we can only create 2 KITs. Another important step is to make that quantity easily accessible.

Our first solution is just a simple three steps process.

1.Create a customised item field (ex: Available KIT quantity) which will be available to all the KITs created by our customer.



2.Write a scheduled script which will calculate the available KIT quantity based on its components quantities.

3.Make the script post into the customised field created at step 1.

This way the user can see the available quantity at all times at the kit level and also can use the field as a transaction column.


The Second solution is just to create a saved search which returns the available quantity for each kit item.


Depending on your preference and client needs you can opt for one or the other.

If you need more clarification don’t hesitate to contact us, thank you everyone and have a nice day!

Keystone Data out!

Keystone Data - Email Case Management Process w. Decisions & Pending

Defining your Customer Case Management and Support Process

As a software implementation and development company, we provide high level support to a wide range of companies. Along the way we have refined our process to meet our customer’s and our own needs. Practically speaking, it’s important your Support system provides the best Customer Service for your customers and the upmost visibility for your company too. A truly formalised process is the best way to create a structure that ensures a case is cared for throughout its lifecycle.

After implementing Support processes for ourselves and our customers, we thought it best to share some of the aspects we think many businesses should strive for.

Some Best Practices

Effective Logging

The best way to set the ship sailing in the wrong direction is by ineffectively or barely logging customer issues. The bare necessities should be a Contact, Problem Description, Unique Case Number and the Date and Time it was received. “Obviously” I hear you say, but without a formalised Case Capture form it can be very easy to simply trust yourself to remember. The ITIL model for Service Management suggests this is the role for a Service Desk. A single point of entry to ensure communication is streamlined and the case recipient’s first priority is to effectively log and manage the problem.

Could the first contact Support User take charge of the Case to manage it to completion? This can sometimes be a good way to ensure the case is chased once escalated.

Of course this doesn’t have to be a manual process, on systems like NetSuite, Cases or Tickets can be captured from customised Online Forms. This has always been a great way for grooming customer’s queries, with mandatory fields like “Nature of Enquiry” acting as a filter to route Cases in your Support System. If Cases can be classified before they are added to a Case list, the Case list is infinitely more manageable.



We also believe a Support system should share the same database as your Customer Records, not only to link Cases to Customers, but to provide your Support Agents with the information they need to provide comprehensive support. But even more than that, in a system like NetSuite, a Customer’s Service Level Agreement could automatically set a Case’s Priority or Due Date.


First of all, we would suggest the first response is a confirmation of query receipt. For emails this is a simple automated email, but phone queries are often neglected. We’d suggest logging all phone calls as queries, however appreciate this isn’t always logical or practical. However if the query requires more investigation or cannot be handled with a first contact resolution, an email detailing the conversation is a great way to leave an open line of communication with the customer and record the query for memory on your side too.

Secondly, we’d suggest growing your Knowledge Base by encouraging your Support Agents and Technical Staff to constantly contribute to it. In a basic sense, Knowledge Bases can often offer standard responses, but could also be extended memos so that the exhaustive research that went into a great response doesn’t disappear into the realms of Closed Cases. Arranged into topics, you can give your Support Team their own, industry-specific Encyclopaedia if done properly. (There is always a chance this could be shared with your customers too!)

Could the first contact Support User take charge of the Case to manage it to completion? This can sometimes be a good way to ensure the case is chased once escalated.

Are you ready to close the Case? If yes, it’s worth updating the customer of this status change too. More than anything, this communication ensures avoiding any skeletons in the closet appearing when a customer expected a response that never came. Generally speaking, it’s difficult to ever over-communicate but much easier to under-communicate!

Time Tracking

Not just for your benefit, Time Tracking can be a great help for the customer when managing their Service Level Agreement. The logic behind Time Tracking if you charge for Support Time is simple, but it’s also a great way to view where time is being exhausted. Seeing how much is spent on individual customers can be an enlightening experience, for example.


As a smaller enterprise it can often be difficult to see how you’re doing when it comes to Support. A huge part of this reporting is using a system that uses assessable processes and has visual reporting capabilities. Thanks to NetSuite, we are able to access a huge range of visual reports such as: Service Response Times, Cases by Customer, Resolutions by Employee and many more.

Analytics shouldn’t just be reserved for the Sales side of things though. Does a persistent Customer need a more appropriate SLA? Do the Support Team need more training on a particular Product Group with questions slowing down response times? It’s often easy to think of Support as an open and closed activity, but often a lot can be taken from delving into the detail.

In Practice | Email Case Management

Case Management is often a difficult process to map out, with Case requirements varying vastly and Support being delivered by employees who have other primary functions. These difficulties apply to Keystone Data too, and in response we all try to work to a Support process that is time-efficient, promotes visibility and comprehensive for the customer.

The diagram below details out a general, simple Email Case process that we would frequently implement for our customers. Defining your own process is a great start for implementing a SaaS, but also for helping analyse and improve the process itself. In this example we are able to show a first contact response (in white), an escalated response (in grey) and how a Case can be reopened by a customer and start the cycle again.

Keystone Data’s Email Case Management Process | Manual process are defined with a solid grey line and automated processes with a dotted teal line. NetSuite processes are defined in Navy, standard Support steps in Teal, 1st contact responses in White and escalated steps in Grey.

Keystone Data are a NetSuite implementation specialist, for more information on Case Management or implementing Support for your company please get in touch.


Work Order Withdrawals – Putting stock back into NetSuite

Standard NetSuite functionality does now allow over-allocated items in a work order to be returned back into stock. We recently developed a solution for one of our clients to bring items back into stock. This functionality is available after a work order has been saved:




Component 1 of this work order was over-allocated; the work order required a quantity of 10 of component 1, but the pack is only available in quantity of 20’s, thus we will bring back 10 of component 1.





Notice that component 1 was initially picked from 2 bin locations. The ‘returned to bin’ field contains the bin number that the components were removed from, thus we can return some of component 1 to one bin and to another bin.

When entering the returned quantity, notice the check box ticks automatically.




Click save on the work order withdrawal. At this point, an inventory adjustment is posted. The work order withdrawal status remains at ‘pending’ until the work order is closed. The account postings shown on the lines tab do not post until the work order withdrawal status is complete.






Clicking on the ‘inventory adjustment’ brings up the standard inventory adjustment functionality in NetSuite. This screen cannot be edited to remove the risk of the work order withdrawal and inventory adjustment quantities being changed separately. To adjust the inventory adjustment, the work order withdrawal amounts must be edited.




Back on the Work Order, related Work Order Withdrawals can be found on the related records tab:




When work order is closed, the work order withdrawal is posted to the WIP account. If you’d like to find out more about this feature, please do not hesitate to contact us: