Sunday, December 29, 2013

Personalised Dashboards at your Home Page.

Hi Everyone,

Here is how to create personalised dashboard home page for each member of your organisation.
First, as administrator I will create 3 additional menus and add dashboards to each menu.


Two


Three


In order to achieve it, I have to create Site Map for these dashboards here


Then I added menu items to it


Then I just added dashboards to these elements.


And the last step would be to make respective screens available to only certain users and make it Home page for them.


All the best,

Sergey.

Timeouts. Keeping Site Alive or Safe ?

Hi Everyone,

In this post I would like to touch options that affect session timeouts.
IIS together with our Application has multiple settings to control it.

First of all, there is a universal setting in our web.config file, that controls the appearance of the Reminder Bell on the tool bar. Once it is active, system will auto check notifications and reminders from the application regularly. Here is the icon, that will appear:



Settings controlled by web.config entries


ReminderVisible makes bell appear on the screen.
ReminderRequestPeriod controls how often web page will ping the server on active reminders status.
And ReminderActiveMode will either switch auto ping on or off. By default it is off.

Well, web.config file you can find at the root folder of your Acumatica ERP web site.

With Reminder activated there is no need to control other settings on IIS as auto heart beat will keep session always open, your browser will never disconnect from the server.

There is one problem though.

You may wish the browser to auto close session if say you go to gave lunch or just forgot to log out from Acumatica. In this case, Reminder will not be a good option.

Second option is to keep Reminder off, and configure IIS instead.
There are few options to tune.

1. Web site itself controls the connection timeout. If you open IIS->WebSite->Advanced Settings->Connection Limits there is a setting Connection Timeout (seconds).



As per documentation it:

Specifies the time (in seconds) that IIS waits before it disconnects a connection that is considered inactive. Connections can be considered inactive for the following reasons:
  • The HTTP.sys Timer_ConnectionIdle timer expired. The connection expired and remains idle.
  • The HTTP.sys Timer_EntityBody timer expired. The connection expired before the request entity body arrived. When it is clear that a request has an entity body, the HTTP API turns on the Timer_EntityBody timer. Initially, the limit of this timer is set to the connectionTimeout value. Each time another data indication is received on this request, the HTTP API resets the timer to give the connection more minutes as specified in the connectionTimeout attribute.
  • The HTTP.sys Timer_AppPool timer expired. The connection expired because a request waited too long in an application pool queue for a server application to dequeue and process it. This time-out duration is connectionTimeout. 
In practical aspect for us it means, if for example, you created a report or inquiry that uses view in the database, and the first record that will come out of this view will come with delay longer than the above settings - session will get disconnected.

So this settings is crucial, especially if you plan to write your own heavy reports or BI tools.

Recommended setting here purely depends on the longest time you expect SQL server to return you the result set.

2. Login Timeout. We control from web config how long system will wait for you to login on the login screen
 <formsAuth loginUrl="Frames/Login.aspx" timeout="60" />

3. Run time execution timeout
 <httpRuntime executionTimeout="300" requestValidationMode="2.0" maxRequestLength="1048576" />

As per documentation
The ExecutionTimeout property indicates the maximum number of seconds a request is allowed to execute before being automatically shut down by ASP.NET.

4. Session State timeout, which you can increment.
<sessionState cookieless="UseCookies" mode="Custom" customProvider="PXSessionStateStore" timeout="60">
        <providers>
          <remove name="PXSessionStateStore" />
          <add name="PXSessionStateStore" type="PX.Data.PXSessionStateStore, PX.Data" ignoreUrl="~/Frames/Menu.aspx,~/Frames/GetFile.ashx" />
        </providers>
      </sessionState>

5. Application pool idle timeout that can affect your session data if left for too long


This one can be set to 1440 which is 24 hours.

Please make sure you restarted IIS if any of these parameters changed.

All the best,

Sergey.

Tuesday, December 24, 2013

We have got official Vietnamese Translation.

Hi Everyone,

Finally we have got Vietnamese translation file for Acumatica.
It was done by professional agency, same what was engaged for Microsoft Dynamics and SAP translations in Vietnam.

Here is the result:




All need to be done - take the file and upload it to Translation dictionaries.

You enjoy,

Sergey.

Wednesday, October 16, 2013

Solving the Problem with Data Retention.

Hi Guys,

In brief, I need your advise.
Got a problem with one of the prospect, willing to migrate from NetSuite to Acumatica.

They are now stacked to NS due to a legal requirements for data retention. Can you imagine!!!
You see, due to limited deployment models with Net Suite, they can not install the system on premise for historical usage, because they do not owe the license. So now they can not change the ERP from NS to anything else because if they unsubscribe from them - they will loose the whole system with all the customizations.

Even though the database can be extracted in some weird format, still they loose access to reports.
And for the audit they may need all the reports immediately based on auditor request.

Like, I know, what they would do if they decided to change ERP from Acumatica to something else, we allow to use unregistered license for two concurrent users, even if you unsubscribe from cloud or Subscription on Premise license. But NS do not allow that!

What to DO!!!! How to help them?

All the best,

Sergey.

Monday, October 14, 2013

Setting the Tax Right. Singapore.

Hi Everyone,

Here is a quick setup guide for Singapore GST Tax. Its all driven by IRAS requirements for tax codes and their behavior. Here is what tax report should include.

Here are what codes are recommended. From a guide for accounting software developers.


You can easily find these documents on IRAS web site.

In Acumatica ERP we are going to setup TAX module based on IRAS guidelines. Final Tax report should look based on above requirements.

1. Set up a tax Agency. 
This is done in Accounts Payable module, just create a vendor for Comptroller of Goods and Services Tax in your system. Mark it as a Tax Agency, provide Period for report- in our case its Quarter. Then specify accounts for GST Input and Output Tax.



One important option here - I have chosen to report based on period in which documents are posted, not based on original invoice/bills dates.

2. Setup Tax Boxes for GST Report.
Remember the IRAS report format - we just need to setup in the system reporting settings and groups.
First we setup reporting boxes or lines:


Then we setup Groups:


Then for each group we have to specify the lines that we add, one by one.





Last two groups we made empty, due to non reporting nature of them.

3. Now lets setup Tax Codes.

Here is one example of the tax code, the rest are using the same logic, except inclusive ones.


For Inclusive tax, it uses different option Calculate On:


4. Setup Tax Categories and Tax Zones.

Recommended settings below. Tax categories then can be added to inventory or non stock items, while tax zones to vendors and customers.




And categories:









And the combination of Zones with Categories will end up with right Tax Codes.

All the best,

Sergey.

Tuesday, October 8, 2013

Acumatica Asia Grows Rapidly

Hi Everyone,

First of all, thak you for attending numerous trainings we did in Asia this quarter. I had collected plenty of topics for future postings. And of course I appologise for not posting for a month. :)

It was really busy quarter, we have signed more than 20+ partners, and closed 14 deals in Asia pacific. With more and more partners joining Acumatica fan club, we are also planning to grow with you !

As a company we are to settle regional partner ecosystem, with training centre and appointed traininers all over the region. Acumatica University courses are now under review and soon will be available as a classes.
In parallel I am eager to have more people in our Acumatica team. If you feel your skills are fit, feel free, join! Send me a CV or just let me know over the e-mail or skype!

Our PR is to grow as well, soon there will be events in Vietnam, Singapore, Philippines and more.

21 October we plan to have a training session for partners in Singapore for deep dive development. Those who are interested, let me know! Please note, passing course T101 is a must.

All the best,

Will keep you all updated,

Sergey.

Saturday, August 31, 2013

Snapshots. Easy Backup. Rapid Deployment.

Hi Everyone,

Time to discuss a nice option for cloud backup and rapid deployment. All of us dream about templates for implementation. It will make ERP closer to a box product. When you can buy software, apply a template, and that is it. One step towards it - Snapshots.

Think about snapshots like backups, that we can do for the whole system. And because our customizations and reports are stored in the database, we can include them into a snapshot as well.

For the template we have made few types of the snapshots to help partners implement the system quickly, by copying template installation to multiple clients. You can do your own!

Another important thing - snapshots can be saved as zip files, from the cloud server into your PC, like downloads. Alternatively they can be stored inside the database, as a blob files.

Lets create one.
Open System->Management->Companies. On the first tab you will see existing snapshots sitting in the database.



In order to create the snapshot - just press a button on top, Create Snapshot, a dialog will appear to give it a Name and choose the snapshot type.
Here we have to decide, we need it as a backup, with full data in it, or as a template for another customer site installation or like after we finished Proof of Concept stage, its good to copy to production all the setups and master files.

Take a note, transactions can be skipped!
Meaning no need to clean up the POC to turn it into production site !



Then there will be 2 options, Include Customizations and Prepare Data for Export.
Fist one is obvious, second one will make a zip file and store it inside the system. So you can download it later.

So here is the thing, you can just keep your snapshot within the database or you can download it and store on your PC/Store etc.

If zip file is ready to download, snapshot will show Prepared check box checked. Other wise you can still press button Prepare Snapshot.

Now if I click Export Snapshot, the file will be downloaded to my PC.
I can Upload file to the server by pressing Import Snapshot.

Then FINAL stage is restore the snapshot. You can do it by pressing Restore Snapshot button and it will place data from snapshot file into database tables.

Here is a small video related to snapshot creation, download, upload and restoration.



All the best,

Sergey.

Changing Login Picture.

Hi Guys,

Mike inspired me today with a good idea for a blog.
At the last day of summer, I would like to re-brand Acumatica Cloud ERP login picture.
From what it looks now:



You already know that with version 4.1 login frame auto refreshes every time.
We have pool of seven predefined pictures. They are kept here:



At present, the only option is to replace these images with what we want:


And here is the result:


The only problem is, every time we upgrade Acumatica, system will overwrite these pictures, so for the time being, have to copy them over from backup location. In the future we will make them stay.

All the best,

Sergey.

Wednesday, August 28, 2013

Linking Sales Order to Purchase. Stock Allocation.

Hi Everyone,

One of the questions from our partners was - why don't we have a topic at Acumatica University on how to tie Sales Order to Purchase Order, then break this link, then see the goods allocation in the inventory.

Basic business process behind is when we sell something we may wish to buy goods for this specific sales order. And then, at some point we may reconsider and dedicate goods for another Sales.

I am using Demo database to demonstrate it.

What I did first is switched off sub items, not to mess up the picture.
(Well, if you like to know how to switch off sub items on demo database, please let me know, it was done not from UI.)


Step One. Create an Item in Stock Items screen.

Nothing special. Using version 4.1


After Item created I made a receipt in Inventory for 1000 pieces.


Step Two. Make a Sales Order.

Here I used the above item indicating a line should be Ship Complete. Added some quantity and price. Take note of Mark for PO check box. Will use it in the next step.




Step Three. Link SO to Existing PO.

To achieve it, will mark check box Mark for PO. Then Press PO Link button.
We may already have a PO, so we can link to existing one.


We should select the line on that screen then Save to mark that existing PO to the SO.

Step Three A. Create PO for SO on the fly.

Alternatively we may wish to create new PO for that Sales Order. Let's go to Actions->Create a PO. Then screen below comes out. Here we need to indicate the Vendor and Location and then click Process to create a PO. Once created, SO will get link to that PO automatically.





Here is the SO. Take note of the link.



Step Four. Break the link. Allocate to Another PO.

Let say we have reconsidered and wanted to reallocate the sales order to another vendor PO.
This is achieved at the Sales order. Unchecked Mark for PO on the line, save. It will automatically remove PO link. Now lets link to another vendor PO. Check Mark for PO again. Save.
Then call PO Link button. Now we can choose another vendor and PO.



Step Five. Verify Figures.

We can use either Inventory Summary to see current inventory positions



Or Allocation Details



Step Six. Receive PO and see what Happened.

Here is the receipt


And Sales Order can be now shipped. I created shipper document then confirmed it. Standard process.

Question why do we swap POs for a single SO - could be if we want to manage sales better, let say we expect delivery of the same car parts faster from vendor A than vendor B, and have customer RIGHT IN FRONT waiting... We may wish to consider reallocation POs... ;)

All the Best,

Sergey.