Tuesday, 27 October 2015

Branches, Companies and Tenants

Hi Everyone,

All business are unique and diverse, so some times you may need to implement customer who has set of separate legal entities (companies). Companies may have different uses, accounts, currencies and so on, but you still want to build a consolidate reporting. What Acumatica can offer here?

For a number of legal entities, you can set up Acumatica ERP in one of two ways, depending on the business requirements of the companies:
  • Tenants (aka Companies) - an independent tenant for each company
  • Branches - one tenant for all companies and configure a set of branches for each company.
Branches vs Tenants overview:
Listed on the login page
Selected within a tenant
Separate COA, Currency, Calendar
All 3 are the same
Restricted by License Edition
No transactions across companies
Inter-branch transactions available
Separate consolidation process
Consolidated reports out-of-the-box
Isolated access security
User access control by branch policies

Wednesday, 21 October 2015

How to add new Functionality for Acumatica

Hi Everyone,

Acumatica is great product and it has a lot of build-in features to cover huge amount of different requirements  But you know that all businesses are unique and some times requires some additional stuff that is not a part of standard product.

Well, Acumatica is fully customizable product, so you can easily change any build-in logic according to your specific business processes.
But how to do this better? Do you need to develop it by you own? Ask Acumatica for support or for standard feature?
Do you remember this picture? It absolute truth for this process too. Lets discuss your options.

Monday, 19 October 2015

Analyze Running Queries on Database

Hi Everyone.

If you face database performance issues, you might need some way to get running queries from there. SQL profiler is good, but some times you do not have it or you don't have access to it.

But if you can run SQL queries, you can use this script. It will show you immediate snapshot of all running queries.

If you are searching for statistical information you can use that query. This one will show you to 30 heaviest queries on the sever.

Have a nice development!

Analyse Size of Acumatica Database

Hi Everyone,

Sometimes, when you have big Acumatica database, you might want to know how much space does it taken by what table.

This script can help you:

Wednesday, 14 October 2015

CompanyMask for Data Sharing Between Tenats in Acumatica

Hi All,

CompanyMask – is a special column that stores binary mask that defines where this record should be visible and where you can update this record. 
Acumatica stores data in database separated by different tenants. All tenants are isolated, but you have some options how you can share data between them. To do it, your database and table should meet some conditions:
  1. Your table should have CompanyID and CompanyMask columns. Without CompanyMask data will be completely separated with no way to read it from other tenant from code.
  2. CompanyMask should be configured to allow other tenants select and update this record. Mask contains two flags for all companies. First flag –  s it possible to select this record from particular company or not. Second flag – is it possible to update this record from particular company or not. So as more companies you have in database, as longer will be a company mask value.
  3. Companyes should be arranged in proper tries. In company table we have ParentID column, that stores hierarchy of companies. Only child companies can see records of parents companies. Parent companies not able to select date of child companies. Also companies from different chains not able to so get data of each other.
Lets discuss, how does it works base on example.

System Columns in Acumatica Database

Hi All,

Acumatica has some special database columns, like CompanyID, Branch, NoteID  and so on.
Here I will describe what types of special columns you may expect in Acumatica database and when do you need to use them.
All these field are optional and does not required to be in all tables.

In this article you will find Description of:
  • CompanyID 
  • CompanyMask
  • DeletedDatabaseRecord
  • BranchID
  • Tstamp
  • NoteID
  • GroupMask
  • And other Audit Fields:
    • Created/LastModifiedByID
    • Created/LastModifiedDatetime
    • Created/LastModifiedByScreenID
Welcome in the article if you need more details.

Wednesday, 7 October 2015

Customize Email Processing in Acumatica

Hi Everyone,

You know that Acumatica CRM has ability to process incoming mails, create cases or leads, attach messages to existing contacts and so on.
Lets discuss how doe it wars and is there any ability to customize it.

First of all, to enable mail processing you should activate and configure it for your email account on "Email Accounts" screen
Acumatica Email Processing Preferences

How to Customize Selector in Acumatica

Hi Everyone,

Sometimes you want to add additional selector column to the screen, but this process not always is super strait forward.
Acumatica Selector
I will try to guide you step by step, how to add additional address line column to location selector on Sales Orders Screen.

Friday, 2 October 2015

Script to Select Audit Data from Database

Hi Everyone

Have you seen this when you select data from Audit table in Acumatica?

Acumatica stores all audit in one table Audit History. Keys and Changed fields are saved to database in combined mode. Data is concatenated with symbol \0, thats why you are not able to read this fields with just normal SQL server management studio.

To resolve it, you can replace special symbol just with normal colon. Use this script: