Usually workflow & messaging is realized in CRM and then transactions are just logged into Accounting/ERP/MRP. In the case of Microsoft Business Solutions products: Microsoft Great Plains, Navision, Solomon, Axapta the natural CRM choice would be Microsoft CRM. However typical CRM application targets Sales automation, which is usually not applicable to government structure, non-profit or public company (community services, public utilities, churches, charities, etc.). Not-for-profit organization needs purchasing and requisition workflow, payroll approval workflow, and in certain cases special General Ledger (GL) transactions workflow.
Microsoft CRM doesnt provide the functionality. Then how could this be realized? We'll provide two scenarios to realize this customization:
Lotus Notes/Domino approach. In Great Plains you could realize either Great Plains Dexterity triggers or MS SQL database trigger on certain events (Purchase Order creation, Payroll Transaction, GL transaction). This event calls COM+ application and this one in turn creates Lotus objects via Java agent (Lotus Notes Domino should be version 6.0 or newer). This is basically the bridge. Then in Lotus you have to design workflow but this is natural task for Lotus and it is not difficult. Users should work in Lotus to get transactions approved and when it should be posted in Great Plains Lotus calls SQL script against Great Plains company database. Developer should know Microsoft Great Plains tables structure
Microsoft Exchange/Outlook approach. This is the second way when you do not want to deploy Lotus Domino, and would be OK with simple messaging and notification through Microsoft Exchange. The technical realization should either involve Dexterity or SQL trigger, calling COM object (Dexterity) or simply sending notification email from MS SQL Server. The scenario to post or take off hold from Great Plains transaction could be realized via MS Exchange event sink this MS Exchange event handler will check all the messages and when the one has certain criteria it calls MS SQL Server stored procedure in the Great Plains company database
Programming Tools. Java agent to address Lotus you need either Sun JDK or somewhat more advanced: VisualCafe or JBuilder. Great Plains Dexterity trigger should be done in Dexterity IDE this language requires expertise and it is difficult to code without experience, Microsoft Exchange event sink should be programmed in Visual Studio as COM+ application, then you need to register COM+ application through Control Panel->System->Component Services
Feasibility. To be honest and do not set unrealistic expectations this Workflow implementation is pretty serious project and we do not recommend if for small non-profit organization it is rather for large and mid-size-to-large structure.
We encourage you to analyze your alternatives. You can always appeal to our help, give us a call: 1-866-528-0577 or 1-630-961-5918, firstname.lastname@example.org
Andrew Karasev is Chief Technology Officer at Alba Spectrum Technologies ( http://www.albaspectrum.com ), serving Microsoft Great Plains, CRM, Navision to mid-size and large clients in California, Illinois, New York, Georgia, Florida, Texas, Arizona, Washington, Minnesota, Ohio, Michigan