Prerequisite
The integration are performed using SQL Accounting SDK Live (https://wiki.sql.com.my/wiki/SDK_Live)
As such, the SQL Accounting program must be installed on the machine that need to run the integration task.
The program can be downloaded from https://www.sql.com.my/download/demo/sqlacc-setup.exe
After download and install, you should have the icon on your desktop.
Introduction
This module enabled the data synchronization between DynaMod and SQL Accounting vice versa with preset of tasks such as download stock from SQL Accounting, upload Cash Sales to SQL Accounting.
The module can be access from [Common Module] - [System Utility] - [SQL Accounting]
There are 2 screen currently available for the module:
1. SQL Accounting Integration Project
2. SQL Accounting Integration Task
SQL Accounting Integration Tasks
There are total 16 tasks available currently.
1. SQLACC_DOWNLOAD_AGENT
Download from SQL Accounting Agent To DynaMod Salesman
DynaMod: AcSalesman
SQL Accounting: AGENT
AcSalesman.AcSalesmanID = Agent.Code
AcSalesman.AcSalesmanName = Agent.Description
AcSalesman.Active = Agent.IsActive
2. SQLACC_DOWNLOAD_AREA
Download Area from SQL Accounting to DynaMod
3. SQLACC_DOWNLOAD_TERM
Download Term from SQL Accounting
4. SQLACC_DOWNLOAD_CURRENCY
Download Currency from SQL Accounting
Following will not update if currency code already exists.
1. CurrencyRate
2. BankBuyRate
3. BankSellRate
Update only on following:
1. Currency Desription
2. Currency Symbol
5. SQLACC_DOWNLOAD_STOCK_GROUP
Download Stock Group from SQL Accounting
6. SQLACC_DOWNLOAD_TARIFF
Download Tariff from SQL Accounting
7. SQLACC_UPLOAD_AGENT
Upload DynaMod Salesman To SQL Accounting Agent
DynaMod: AcSalesman
SQL Accounting: AGENT
AcSalesman.AcSalesmanID = Agent.Code
AcSalesman.AcSalesmanName = Agent.Description
AcSalesman.Active = Agent.IsActive
8. SQLACC_UPLOAD_AREA
Upload DynaMod Area to SQL Accounting Area
9. SQLACC_UPLOAD_TERM
Upload Term to SQL Accounting's Term
10. SQLACC_UPLOAD_PROJECT
Upload DynaMod Location as SQL Accounting Project
Upload DynaMod Location to SQL Accounting's Project. Cash Sales in SQL Accounting can only be identified by Project for their financial report or Sales Analysis.
11. SQLACC_UPLOAD_CURRENCY
Upload Currency to SQL Accounting
Following will not update if currency code already exists.
1. BuyingRate
2. SellingRate
Update only on following:
1. Description
2. Symbol
12. SQLACC_UPLOAD_COMPANY_CATEGORY
Upload DynaMod Customer Group to SQL Accounting's Company Category (Customer Category)
13. SQLACC_DOWNLOAD_STOCK
Download Stock from SQL Accounting
Things would be download from SQL Accounting for this task.
1. Multiuom Stock: Default selling price (Company Level only). UOM Rate.
2. Stock Barcode: It tight to corresponding Stock's UOM.
These tasks would be perform first:
SQLACC_DOWNLOAD_STOCK_GROUP
SQLACC_DOWNLOAD_TARIFF
14. SQLACC_DOWNLOAD_STOCK_TRANSFER_AS_RECEIVE
Download Stock Transfer from SQL Accounting as Stock Receive in DynaMod
Condition to be able to download to DynaMod:
1. Location To must equivalent to Project in SQL Accounting Stock Transfer Items
2. 1 Document can only have 1 Location To. If more than 1 Location To encountered in item list of stock transfer, the document wouldn't be downloaded.
These tasks would be perform first:
SQLACC_DOWNLOAD_STOCK_GROUP
SQLACC_DOWNLOAD_TARIFF
SQLACC_DOWNLOAD_STOCK
15. SQLACC_UPLOAD_CUSTOMER
Upload Customer to SQL Accounting
Things to take note:
1. Debtor Account = [DynaMod] Customer Code
2. Debtor Control Account = [DynaMod] Trade Debtor Control Account
3. Agent = [DynaMod] Salesperson
4. Term = [DynaMod] Term
These tasks would be perform first:
SQLACC_UPLOAD_AGENT
SQLACC_UPLOAD_AREA
SQLACC_UPLOAD_COMPANY_CATEGORY
SQLACC_UPLOAD_TERM
SQLACC_UPLOAD_CURRENCY
16. SQLACC_UPLOAD_CASH_SALES
Upload Cash Sales to SQL Accounting
Things to Take Note:
1. Cash Sales will post to SQL Accounting 2 places. Cash Sales and AR Receipt
2. Cash Sales with negative bill amount will post SQL Accounting 2 places. Credit Note and AP Payment
3. Location = Project in SQL Accounting. SQL Accounting's location is use for stock control. For sales to be differentiated by Outlet, Projects shall be created accordingly (If having 10 Locations, then create 10 Projects as well)
4. 1 to 1 posting from DynaMod to SQL Accounting
5. Agent in cash sales (Salesman) must be upload first.
6. Customer in cash sales must be upload first.
7. Stock records with corresponding UOM shall be downloaded first.
IMPORTANT NOTES:
1. If tax code been used in transaction, such tax code must be maintained in SQL Accounting. Eg: SR
2. Round Cent would be itemized in SQL Accounting. Please create a corresponding Stock Code: ROUND CENT, UOM: UNIT
3. Service Charge would be itemzed in SQL Accounting. Please create a corresponding Stock Code: SERVICE CHARGE, UOM: UNIT
4. Other Balance (Eg: Sales - Sales Voucher Exceed Value (53000 in DynaMod) ) would be itemized in SQL Accounting. Please create a corrsponding Stock Code: OTHER BALANCE, UOM: UNIT
Scenario: Sales 95, but paid using Voucher 100. Double Entry would be:
Dr Voucher 100
Cr Sales 95
Cr Sales - Sales Voucher Exceed Value 5
5. Payment Collection would be posted to SQL Accounting as AR Receipt (1 Receipt with the corresponding knock-off amount).
Eg: If the transaction consists 2 payment method (VOUCHER, CASH), then 2 receipts would be created in SQL Accounting to indicated the collection.
Please make sure all possible collection account being created in SQL Accounting or vise versa, Eg: 30030, 33031, 33032 etc.
You may refer to [Company System Setting] - [POS Payment Account] - [GL Mapping for Payment Collection], and default Sales Cash Collection Account
These tasks would be perform first:
SQLACC_UPLOAD_AGENT
SQLACC_UPLOAD_AREA
SQLACC_UPLOAD_COMPANY_CATEGORY
SQLACC_UPLOAD_TERM
SQLACC_UPLOAD_CURRENCY
SQLACC_UPLOAD_CUSTOMER
SQLACC_UPLOAD_PROJECT
SQLACC_DOWNLOAD_STOCK_GROUP
SQLACC_DOWNLOAD_TARIFF
SQLACC_DOWNLOAD_STOCK
SQL Accounting Integration Project
This is the place to configure what and how's the integration tasks to be performed. Create a project, fill up the SQL Accounting Authentication Information, then populate the tasks and choose the desired one.
You can disable the task and disallowed it from auto run (Configured in Process Manager)
Question: Where do I get the SQL Accounting Authentication Information?
By default the created database would be located at "C:\eStream\SQLAccounting\DB" with those file extension *.FDB
DCF Full Name, a default configuration file for SQL Accounting. Usually located at "C:\eStream\SQLAccounting\Share" with the file extension .DCF
Database Name, the SQL Accounting database file name (Eg: ACC-0001.FDB)
User Name, default would be ADMIN
Password, default would be admin
Note: For the integration work well in the case if you're change of user name, please make sure the security access right in SQL Accounting to be fully granted.
Note: Test the connectivity to SQL Accounting after input of authentication info to ensure the integration work well later on.
You should be able to see the result as follow if able to connect successfully.
Hint: Sometimes for testing purpose, the function [Dynamic Query from SQL Accounting] allowed to write query (SQL statement) to retrieve result adhoc from SQL Accounting's database. You may also export the result into Excel for further reference or study purpose.
The above query get the stocks information from SQL Accounting database
Sometimes we need to know what are those available tables name in order for us to query from database. You may use query below:
select rdb$relation_name
from rdb$relations
where rdb$view_blr is null
and (rdb$system_flag is null or rdb$system_flag = 0)
Reference for query above: http://www.firebirdfaq.org/faq174/
You can see there are 186 tables in SQL Accounting database.
Full table list are downloadable from attached Excel file SQLAccounting_TableList.xlsx
Manually Perform Integrated Tasks using Task Manager Function
DynaMod allowed you to perform SQl Accounting Integration Task manually as well by using function in More - 1. Task Manager
The list of manual run-enable tasks as listed in new screen:
Choose the desired task, then press the button [Run Selected Task by Last Sync Date], a confirmation message will be prompted upfront to continue.
Once the process completed, it will marked as Manual run by current login user for status whether Failed or Success. The error log would be indicated and saved as well.
Automated integration tasks using DynaMod Process Manager
In DynaMod Process Manager 2019.1 Build 0009, those pre-defined tasks were added to the list for configuration
SQL Accounting Integration Task Configuration
Press the button [Setup Connection], below screen would shown:
You will be able to see the new tasks list for SQL Accounting Integration.
SQL Accounting Integration Task Auto Run:
Once configured and saved, the task would be run automatically, or you may also manually run it.
Hint: You just need to setup 3 major tasks as those dependent task would be run automatically
1. SQLACC_DOWNLOAD_STOCK
2. SQLACC_DOWNLOAD_STOCK_TRANSFER_AS_RECEIVE
3. SQLACC_UPLOAD_CASH_SALES