Sunday, October 28, 2012

Acumatica Cloud ERP v4. What is New.

Hi Everyone.

Here I would like to discuss some new features that are to come in version 4.
Product is under beta testing, it goes very well and based on community opinion, will be a success.

Most significant change is enhanced Mobile Device support.
Now screens and menus re-size based on your device automatically. Below is example when Control Debit/Credit amount fields being repositioned automatically on screen width change.

Second great feature is Enhanced Navigation for screen touch devices. All the buttons being made a bit bigger to get easily pressed by finger. Menu had been reworked to allow to navigate by fingertip.

 I have also noticed, reduced number of text labels, sometimes very annoying and complicating the action recognition. Please take a look at Grid buttons, They are now bigger and self explanatory. Of course tool tip is coming out when hover over the button.

Last thing - controls being repositioned and reworked, they all have the same width and come with description:


In overall, new approach reduced amount of code for developer 10 times. Numerous system enhancements improved the speed of operations locally by 30% as well on the server by 30%.

That is all about UI enhancements at the moment.

All the Best,
Sergey.

Wednesday, October 3, 2012

Notice of Vacancy. Sales Manager. Cloud ERP Singapore.


Acumatica Cloud ERP Distributor
Singapore, Vietnam and Malaysia
Position: Sales and Account Manager.
 

About Company

We are a leader in the Cloud ERP Solutions market place. US based company, established since 2006, we have grown to provide software solutions to many companies Globally and in the Asia Pacific Region. Singapore office in operation since 2009. Business life cycle phase: Active Growth.

Job Description: Sales Manager, Key Account Manager
Location: Singapore, Regional coverage

Job Responsibilities

  • Identify key account (Large SMB and Enterprises) in Singapore and the region
  • Generate sales leads, conduct software demonstrations, propose appropriate solutions for companies in different industries
  • Achieve monthly/quarterly sales targets for our ERP business software solution
  • Manage client accounts and maintaining basic customer service & relationship
  • To handle the complete sales cycle from lead generation, presentation, demonstration, quotation, negotiation to closing of sales

Requirements

  • Minimum 5 years relevant working experience. Prior ERP sales experience a must
  • Must be performance and target driven. Excellent track record in meeting/ exceeding sales targets.
  • Bachelor degree required
  • Familiar with basic accounting, business operations and Internet technologies
  • Must be Singapore Citizen or PR to apply
  • Mandarin speaking and writing skills is a plus
Please submit your CV at info@acumatica.com.sg
 
All the best,
Sergey.



Tuesday, September 25, 2012

Adding a Drop Down List (ComboBox).

Hi All,

Reason for publishing this article - lack of documentation on this type of control in standard user guides for customization module. Control is handy, therefore should compensate.

There is a field type called Drop Down List or Combo Box in old notation, very useful when we have limited number of choices and they are predefined. Examples of Drop Down Lists:

Module Field in Journal transactions screen from GL module:

Billing Option from AR Invoice screen, here we have this control on the grid:

In order to add this type of control on the screen we should open Customization, Design Mode for the screen. I will demonstrate based on Subaccount Maintenance screen, where I like to add Area code as a combo box.
 
Then I switch to design mode and went to Control Tree:
 
Here I click Add->Add Column to Grid then Add for new field:
 
 Right after that, we need to add a field to database as well. I will call it Area, let it be 2 characters long:
 
At the final screen I state the control type, which is ComboBox:
 
 Now control is added, but we still need to add a list of values for the drop down.
I wish it to be 01 to 10 with descriptions Zone One to Zone Ten. I first click apply then go to Attributes:
 
 
 The string to add should be:
[PXStringList(new string[] { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10" }, new string[] { "Zone One", "Zone Two","Zone Three", "Zone Four","Zone Five", "Zone Six","Zone Seven", "Zone Eight","Zone Nine", "Zone Ten" })]
 
Where first comes list of DB values :) you guys know what it is, right :) Secondly the list of displayed labels.
 
Then click Ok->Apply->Save
 
Now save the customization and publish it.
 
Please note, that due to specific of adding new fields to database you have to restart the whole ISS in order to make those fields appear and attributes to work correctly.
 
So lets restart the server then it will be seen.
 
All the Best,
 
Sergey.

Sunday, September 23, 2012

Creating Links to External Files.

Hi Everyone,

This article is about linking external files to Acumatica entities without uploading to the database.

Document Management in Acumatica is great, but sometimes, customer may want to link files from existing third-party storage to Acumatica.

What we currently have in our product:

1. We can upload file into Acumatica entities, by just clicking on Attachment button. It is true for almost all the screens. We can attach files to each line of the grid as well. But this is not what our customer wants.



2. We can pass the link to existing file or document from Acumatica to the user. For example, we send link by e-mail then another user can paste it into the browser and access that file. And again this is not what we need.



3. We do have an option to insert a link to a third party file of web site inside acumatica as well.
This is what I wanted to describe in better details.

For example I would like to attach external file, located at local area network resource, to my Project. Lets open an existing Project. Links are made via Activities, therefore we should navigate straight to Activities Tab.

Next I open the Activity called Test and if I just add local folder on my PC like a text it will not work. But intention is to have something like this, working:

This way we can add simple text, but not the link.
In order to add a link I will use Microsoft Word to create a hyperlink first. I need to create a link to a FILE, not FOLDER in order for the function to work.


After I click OK, just Right Click on C:\Well\AcumaticaERPInstall.msi inside the WORD document and copy the HyperLink to clipboard
 

And then Paste the hyperlink into the Activity message body, please use Ctrl-V


Now lets save the Activity and get back to the project Activity History screen.
In order for the list to refresh just click on some other activity and get back to original one. It will refresh the NOTES area.

Now what you see is one non-working and another working link to a file:


All the best,

See you on the Partner Meeting 4th October.

Sergey.

Sunday, September 16, 2012

Asia Pacific Partner Meeting. 4th October 2012. Cloud ERP. Singapore.

Dear Reader,

If you are interested in Coud ERP, would like to know more about the road path for the next year.

Please come to our partner event, planned 4th October 2012 in Singapore.



Event will be broken down to 2 parts. Morning - Marketing. Afternoon - Technical.
You may wish to attend either one or both.


Morning Sessions. Marketing Trail.

9:00-9:45 Key Note. Corporate Overview. Road Ahead.
Presenter: Stijn Hendrikse, Chief Marketing Officer. Acumatica USA.

9:45-10:15 Market Positioning.
Presenter: Sean Chatterjee. International Channel Manager. Acumatica USA.

10:15-10:30 Coffee Break

10:30-11:00 Solution Pricing. Enterprise Licensing.
Presenter: Sergey Vereshchagin. Managing Director. Acumatica (SEA).

11:00-12:00 Competition, Initial Sales.
Presenter: Sean Chatterjee. International Channel Manager. Acumatica USA.

12:00-13:30 Lunch Break. Socializing.

Afternoon Sessions. Pre-Sales and Technical Trail.

13:30-14:15 Initial System Configuration. Cloud/Local Approaches.
Presenter: Sergey Vereshchagin. Managing Director. Acumatica (SEA).

14:15-15:00 Customizations. Dash Boards. Enquiries.
Presenter: Sergey Vereshchagin. Managing Director. Acumatica (SEA).

15:00-15:15 Coffee Break.

15:15-16:00 Newly added features. Multi Company/Branches. Access Restrictions. Fixed Assets. Presenter: Sergey Vereshchagin. Managing Director. Acumatica (SEA).

16:00-17:00 Questions and Answers.

Venue is - Singapore 5 star hotel in central area.

Please write on info@acumatica.com.sg with request, and I will be glad to help with RSVP.

I would also love if you can suggest topics for upcoming event.

See you in Singapore on 4th  October 2012.

All the best,

Sergey.

Saturday, September 15, 2012

Inventory Replenishment Setup

Hi Everyone,

In this article I would like to cover basics on quick Inventory Replenishment (IR) configuration. It could be useful for a demo to your prospect.

Main IR goal is to analyze supply, demand and availability for certain items and in case it goes below what is allowed  - order it from supplier.

Step One. Setup IR numbering sequence, that will be used by replenishment calculation process.This is done in Inventory Setup screen.

Step Two. Set up inventory class, with replenishment values.



To achieve that you will need to create Replenishment Class ID and Seasonality. First one defines replenishment source: Purchase Order, Manufacturing or Transfer. Why transfer - because replenishment values are calculated per Warehouse (Site), and we can transfer the item from one to another to fulfill the need. OK, and second one, seasonality, is to address specific date-range-demand by multiplying it by a factor. Below are both screens:


 Step Three. Now we can create an item, with the above class, and Replenishment Tab for that ID will get populated automatically from the class:

What is missing here, if we use Min/Max replenishment method, we need to indicate, for that particular item, how much should be qty on stock when we replenish and what should be Safety Stock - our inventory buffer. Also good thing to indicate a reorder point, the moment when we should generate a PO.

Step Four. Lets generate some history for this item. Since I am using year 2012, lets put receipt in January on 500 pcs. Generate a sales order in February on 350 pieces with delivery in March and then generate replenishment in March.

I will skip these documents, moving quickly to Prepare Replenishment screen

System suggests us 850 items to purchase, but there is no preferred vendor for our item. Lets correct it and try again.


Please note, vendor price is pending, so we should run Vendor Price Update process from Purchasing Module before we can actually create a PO.

And now we can run the replenishment again.

Last Step. Important to know that IR does not create PO automatically, we should create them by Process from Purchasing Module, called Create purchase Orders.




Resulting would be a PO.

Wishing you all the best,
Sergey.

Saturday, August 11, 2012

Account specific Cost Center access.

Hi Everyone,

During financial system implementation I have faced this challenge.
How to choose specific valid account / subaccount (cost center) combination?

For example, all balance sheet accounts need to get tied to a single sub account, while Profit and Loss ones have to go to multiple, depending on the account nature and sub location.

Second issue - how to guarantee global validation rules for all these combinations. To say in Order Management or Purchasing when we choose a product, system should validate accounts and subaccounts based on predefined rules...

In most of the systems we should specifically indicate valid combinations, then make a template, to be used with each new account or sub added to the system. Looks tedious.
This approach seems to be not very effective, especially is you have hundreds of cost centers.

In Acumatica we have restriction groups, that can help to define validation rules.
I will be using Acumatica demo system to show how to configure it.
Let say we want all B/S account to get only tied to subaccount 00-00-00-00-000, while PnL account to all other subaccounts, excluding 00-00-00-00-000.

1. Open GL->Setup Section->Account Access screen. Lets Create a group Balance Sheet. In our case it should be group of type A. And because we do not need "by user" restrictions lets leave first tab intact and move straight to the second tab "Accounts":

My BS accounts are starting from 1,2 or 3. Lets make a filter to display only BS accounts on the grid for easier and faster selection :)

2. Lets select all BS accounts in the Accounts Tab. And then Save the group.

3. Lets get to Subaccount Segments Tab. And select 00-00-00-00-000 only.

Then Second segment, all the same 00 until Fifth:

4. Balance Sheet group is ready, now to make the restriction balanced we should create a group PnL to indicate possible subaccount combinations for PnL accounts. Lets make all except 00 available for them. Procedure is similar. Create a group, leave Users intact, mark all PnL Accounts, mark All Sub segments except 00, Save. Here are screen shoots:

Filter:

Accounts:

Subaccounts:

All till Fifth:

We are done, lets check on GL Journal Entry screen whether our look-ups and validation works. I will choose BS account and F3 on subaccount to see a look-up for values allowed:

Seems OK, only 00 is shown. Lets try to cheat the system and enter other than 00 subaccount then go to the next line and see if it validates the invalid entry:

System prompts for invalid Location Cost Centre (first segment) for my Subaccount.

Now lets try on PnL Account, should allow all except 00:

Seems OK, no 00 in the look-up list. Lets then enter 00 and try on the next line:


For the second line it was OK, because it does not contain 00 segments, but attempt to manually enter 00 sub in the third line resulted in Error message for all involved Cost Centres.

Have a nice day,
Sergey.

Wednesday, August 1, 2012

Who is On-Line? Active Users.

Dear Operation Managers and IT Administrators!

Knowing your hard work, I dedicated this post for you.

So how can we know, how many users are still on-line, sitting late in the office or working from home, preventing us from doing maintenance? Currently there is no way to see it at one glance. Which pushed me to create an inquiry.

First challenge we have here, a table where all this info stored is secured, meaning we cannot easily retrieve these data into a Generic Inquiry. So we have to create a database view first. Please refer to my earlier post on Adding View to Report on how exactly a view can be published into Acumatica data access class. I will just put below the text of the select statement:
CREATE view ActiveUsers as
select FirstName,LastName,CompanyID,
CAST(DAY(LastLoginDate) as varchar(2))+'/'+CAST(MONTH(LastLoginDate) as varchar(2))+'/'+CAST(YEAR(LastLoginDate) as varchar(4)) as LoginDate ,
CAST(CAST(LastLoginDate AS time(0)) as varchar(8)) as LoginTime 
from users where IsOnLine = 1 

Graph object should have the following code:

<Graph ClassName="ActiveUsers" Source="#CDATA" IsNew="True" FileType="NewDac"><CDATA name="Source"><![CDATA[using System;
using PX.Data;
namespace PX.Objects.SM
{
[Serializable]
public class ActiveUsers: Cst_ActiveUsers, IBqlTable
{    #region FirstName
    [PXDBString(255, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "First Name")]
    public string FirstName { get; set; }
    public class firstName : IBqlField{}
    #endregion
    #region LastName
    [PXDBString(255, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "Last Name")]
    public string LastName { get; set; }
    public class lastName : IBqlField{}
    #endregion
    #region LoginDate
    [PXDBString(10, InputMask = "")]
    [PXUIField(DisplayName = "Login Date")]
    public string LoginDate { get; set; }
    public class loginDate : IBqlField{}
    #endregion
    #region LoginTime
    [PXDBString(8, InputMask = "")]
    [PXUIField(DisplayName = "Login Time")]
    public string LoginTime { get; set; }
    public class loginTime : IBqlField{}
    #endregion
      }}]]></CDATA></Graph>


With this view we can retrieve User's First and Last names, Date and Time of when they logged into the system. Once view is published, it is time to create a Generic Inquiry, using this DAC.

Let's call Inquiry - Active Users.
Under parameters I just specified - Filter, and data area - Users.
Its all non-mandatory. You can give any name based on your Inquiry specific.

Table name we can choose from a lookup screen, which should show us now under SM namespace object ActiveUsers. Alias is optional.


This GI will be dead simple. No relations, no sorting or parameters. Lets move straight to the last tab, Results Grid and select columns we need.


Nice feature we have here, Width. Please specify the width of the column, based on estimated Name length.
Save. And press button Add to Site Map. It will navigate us to the Site Map tree, where I added my GI to System Manager, Audit section.


Now lets try it out.

Looks good, seems I am the only one at this time...

Please note, Acumatica keeps track of time and date in GMT time zone, so if you need to calculate your local time, add/subtract accordingly.

Cheers,
Sergey.