This small business ERP system is very popular in the United States and internationally, where it is translated to popular languages and localized. Custom programming is typically done in Microsoft Visual Studio in C# or VB.Net with libraries linking from so-called SAP B1 SDK. It is possible to program integration as well as modify existing user interface. Let’s take a look at typical customization project and how it should be coded in SDK. We do not plan to go down all the way to C# code samples, so this publication is executive level person friendly. There is earlier paper, where we are providing you code samples. If you are reading this material in foreign language, we apologize for the translation quality, we used Google translator. Let’s go down to details:
1. Typical Custom Coding Project. Let’s assume that your organization is deploying Microsoft CRM to log consulting or contractor billable hours against MS CRM based Contract Line, where you open monthly Case and record hours in the form of Task.
This scenario is very popular, no customization required in CRM to do the job. Of course it is possible to pull out data from CRM database via SQL Scripts, save it in text file and then deploy SB1 Data Transfer Workbench. This approach should work, however it is not real time and requires additional user training. Typically you do not expose SAP BO end user to Data Transfer Workbench, leaving this tool to consultant. This is where you can deploy SB1 SDK software developing. The nature of this project doesn’t require user interface modification, it is rather pure integration
2. SQL Scheduled Job. New tasks export from MS SQL Server based CRM tables is relatively straight forward.
We do recommend you to create custom database to store intermediate tables, stored procedures and views. We recommend you to schedule this job to run overnight, or more often if quasi real time scenario is pursued. The job itself includes two steps: export tasks and their duration from CRM into text file and as the second step – running SB1 SDK programmed integration
3. SDK programmed logic. Here we recommend you to read text file, exported from CRM, or use SQL View to read consulting time not yet imported from custom database. C# code samples are very helpful in creating Invoice Header and Line records and saving the document. Please, note that SAP Business One doesn’t use batch saving and posting logic. As soon as you saved the Invoice – General Ledger distribution is created and saved in GL
4. Some fresh air about Business One. Current version is 8.81 (we are writing these lines in June 2011). In previous release 8.8 SAP mastered to merge initially A and B flavors (where separate SQL Server was required to host each of them) into single one. Now SAP BO companies could be hosted on the same server and exposed to international customers in China, Brazil, Russia, UK, Europe and other countries
5. Customization Project Mechanics. Well, we have some needs in custom programming, possibly in Software Development Kit. How it could be negotiated and done? First of all – we are engaged in secondary SB1 customer market, meaning that you probably lost the confidence in your current reseller and would like to order second opinion. The first step would be to search Google, Yahoo, MSN to locate SB1 technology oriented partner
6. SAB B1 marching internationally. Well, we have heard complaints from Brazilian or Russian customers, that such local packages as Microsiga or 1S Bukhgalteria are not transparent for headquarter based controller. If this is your concern, consider implementing SAP Business One. In this case SAP should screen you from such issues as VAT and Payroll tax rates. By the way there are various add-ons to SB1 enabling USA or Canadian Payroll