Stephen Smith's Blog

Musings on Machine Learning…

Posts Tagged ‘summit conference

Sage Billing and Payments

with 12 comments

Introduction

Sage Billing and Payments is one of the three web/mobile applications that was shown as a POC (Proof of Concept) at last year’s Summit conference and then released at this year’s Summit conference. Sage Billing and Payment is strictly a Web application, and although it will run as a Web application on mobile devices, doesn’t have a mobile native component.

Sage Billing and Payments is meant to help improve the collection of Accounts Receivable. It provides a mechanism to e-mail people their invoices and then to collect their money via credit card. The application has mechanisms to customize all your client communications.

Last week we looked at Sage Mobile Service where technicians performed billable work. If they took payment by credit card, then they are paid, but if they took payment on account, then this application is to help collect that money.

Walk Through

To use this application you go to its URL in your favorite browser and sign-on with SageID. This then leads you to the following dashboard/home screen.

sbp1

This page gives you information on the invoices that need to be processed and how many people are paying their invoices.

Within the application there is a great deal of functionality around customizing your communications. There are a number of templates for invoices and receipts. You can select one of the existing ones from this page.

sbp2

If this suites your needs you can go ahead and use it and if it doesn’t then you can select it and then edit it to further customize it.

When you choose to customize it you go into a visual HTML editor where you can create an invoice to match your companies branding and communications policies.

sbp4

Once everything is setup, you can go into customers to manage contacts and manage their receivables.

sbp3

From this page you can send or print any invoice. As well as review their invoices and payment history.

From here you can also mark whether to just send invoices and payment receipts to the customer automatically (you can also do this for all the customers in settings). Generally this is much more efficient than going through all the customers and manually triggering the e-mails.

When a customer receives and invoice there is a link which will take them into their browser and go to a customized payment website where they can pay their bill instantly by credit card. Of course this site they go to is completely customizable and one is shown below.

sbp5

Why Not Do This in ERP?

To some degree you can do all this in your ERP system, so why would you want to subscribe to this Web service? Basically this service is designed to address a number of pain points people have performing this work from within their on-premise ERP system:

  • Integrating to e-mail to e-mail invoices is hard to setup and operate. In their efforts to fight spam, Microsoft has made it harder and harder for programs to send out automated e-mails. Outlook will popup a messagebox whenever any program accesses the address book or attempts to send an e-mail. Supporting all the various e-mail systems out there is hard and tends to concentrate on Exchange.
  • Performing customization to invoices and receipts in Crystal Reports is hard. Often you have to hire a Business Partner to make any changes to your custom invoices.
  • Automatically collecting payment via credit card right out of the e-mail isn’t supported.

Basically this solution is meant to make the whole process much easier and much more effective. Dealing with e-mail systems becomes our problem. The pages to edit and customize all the forms in this offering are far simpler than dealing with Crystal Reports. Then there is the integration to Sage Payment Solutions for credit card processing right out of the e-mails via a web site that we host.

Technology

This solution is hosted in the Microsoft Azure cloud. It uses the Sage Data Cloud to store information and communicates back to the on-premise ERP application via a connector that is installed there. The actual web application is written in ASP.Net MVC and is deployed to Azure using PaaS Web and Worker roles. We use Telerik’s Kendo UI for our grid controls. This is a nice UI library of HTML/JavaScript controls that provide a very nice rich client user experience in the web. Another tools we find really helpful is JetBrain’s Resharper. This tool adds a lot of advanced refactoring and static code analysis functionality to Visual Studio that we missed from Eclipse. For source control management we use Git on GitHub. To perform continuous integration and to manager deployments to the various web sites (development, staging, production, etc.) we use JetBrain’s TeamCity. This is integrated to our GitHub source control repository and can build as the source code changes and continuously run automated tests. Then we can push a branch out to an Azure subscription whenever we want.

Like most web sites we have put in place the infrastructure to update the site fairly regularly so we can immediately address problems and can add features and functionality on a frequent basis.

The data is stored in a multi-tenant Azure SQL database as part of the Sage Data Cloud. This data cloud is shared by other mobile and web applications like Sage Mobile Service. This way your data isn’t duplicated to the cloud for every service you subscribe to.

The ERP connector is the same one used by Sage Mobile Service and is available currently for Sage 100 ERP and Sage 300 ERP with a version for Sage 50 ERP (Canadian and US) to follow shortly.

Summary

Sage Billing and Payments is a web application that is connected to your on-premise ERP system to help you more efficiently collect money from your customers. It relieves you of the pain of accepting payments over the phone, managing email system integrations and performing difficult Crystal customizations.

Advertisements

Sage 300 Online

with 13 comments

Introduction

At our Sage Summit conference we officially rolled out our new Sage 300 Online service. Sage 300 ERP has had an online hosted version for over ten years. The new Sage 300 Online service is meant to radically modernize our cloud version. It is now hosted in Microsoft Azure, sign on is via SageID, and the virtualization software is vastly improved.

We support all the standard Sage 300 ERP Modules, along with integrations to other Sage applications like Sage Exchange and host a number of third party ISV products. Financial Reporting and Business Intelligence is provided via Sage Intelligence (Sage Alchemex).

Using the cloud version of Sage 300 means that you don’t need to maintain your own servers or other hardware, you don’t need to be responsible for backing up your data and you aren’t responsible for data center support. Further you aren’t responsible for maintaining and upgrading the software. We install all necessary hotfixes and product updates. We even perform major version upgrades for you, which can be a major cost saving.

Modern businesses tend to be distributed over many geographic locations with many employees working from home or working while on road trips. Using a cloud based ERP allows all these people to access the central cloud based ERP from any place with Internet access. This is much easier than maintaining expensive and slow VPN type networks.

First we’ll run through how the service looks and then talk about some of the various aspects of it.

Usage

To access and run Sage 300 Online, you go to an URL in your browser that redirects you to SageID.

sage300online1

You now enter your SageID credentials and are signed into the system. This leads to the following page which gives a list of programs that you are allowed to run.

sage300online2

Clicking on “Sage 300 Online” will then launch the Sage 300 Online desktop. Below is a screenshot of the Desktop run from the landing web page and then running the Order Entry UI.

sage300online3

Notice that it now looks exactly like you are running Sage 300 locally. You no longer run a terminal server client which presents a new Windows desktop inside your existing Windows desktop.

SageID

When you first sign up for the service, you provide an e-mail address which will become your SageID. This first user is the administrator for your company and can invite other users from a SageID administrative website to use the system. SageID will then be your login for our site.

Your SageID will be your login for all Sage Cloud services and is also connected to the back end billing systems, so we can provide one bill for all your services attached to your SageID. This includes the Sage Mobile applications unveiled at Sage Summit. This will make reporting and billing very simple for cloud users.

Microsoft Azure

Our Sage 300 Online service is hosted in Microsoft Azure. These are Microsoft’s cloud data centers with locations all over the world. We use Azure due to its reliability and redundancy. If something were to happen to one data center we could operate out of another. Also the Microsoft network that connects these data centers to the Internet is extremely fast and have very low latency leading to great performance.

Microsoft Azure supports both PaaS and IaaS infrastructures. We use PaaS infrastructure for the initial web pages and for the databases. We use IaaS infrastructure to run Sage 300 ERP in a virtualized environment.

Microsoft Azure allows us to offer our cloud solutions to all our customers no matter where in the world they are located from data centers that are in their region or close to their region. Currently Microsoft has Azure Data Centers in the US, Ireland, Hong Kong, Singapore and Amsterdam with locations opening soon in Sydney and Melbourne.

Microsoft Virtualization Framework

Within the Azure environment we run a standard Microsoft virtualization environment that Microsoft has created for any datacenter. This is run on a number of Windows Server 2012’s. The virtualization environment is accessed via RDP8 which supports our SageID integration, supports virtualizing just the applications (rather than a Windows Desktop login), supports expected functionality like copy/paste, supports printing to local printers and supports transferring files to and from the cloud environment.

Microsoft Azure SQL

We run the Sage 300 company and system databases on Azure SQL servers which are a PaaS implementation of SQL Server. This database provides reliability performing every write to three separate places. Further as Microsoft develops out their cloud roadmap, many new features and services are planned for Azure SQL to improve the general robustness of cloud solutions.

ISVs

With our initial offering, we don’t support all Sage 300 third party solutions, but we do provide a set of some of the most popular. Generally the third party solution has to be able to run in the cloud which usually means it must be written with the Sage 300 SDK (the exception to make the rule is PrintBoss).

The third party products we support are: Orchid EFT and RMA, Pacific Technologies Purchasing Workflow and Funds Availability Wellspring PrintBoss, Aatrix Payroll Reports and Avalara Sales Tax.

Customization

Since all companies using this cloud solution are running the same Sage 300 programs, you cannot customize the system by installing any EXEs or DLLs, since then these would be used by all companies subscribing to the system. Similarly security is a much bigger concern in the cloud and we have to carefully regulate what can get into the system.

Also since this is a multi-tenant environment we can’t allow any arbitrary third party solution to be installed. For any ISV that wants to participate in this offering, we need to verify that their solution will run in our Azure setup correctly and not cause any problems for other tenants.

Summary

We’ve started letting people use our Sage 300 Online offering with a Sage Summit Preview program. Then in a couple of months we’ll be making it officially generally available. The Microsoft Azure cloud gives us much more scalability and global reach than we previously had. Integrating with SageID and using newer virtualization technology greatly improves the usability and convenience of our product. We are very excited about this project and are looking forward to adding to it as we develop it forward.

Visual Process Flows for Sage 300 ERP 2014

with 10 comments

Introduction

We introduced Visual Process Flows with Sage 300 ERP 2012. This has been quite a popular feature since it lets you customize people’s desktop to exactly match their real workflow in a friendly intuitive graphic manner. Several other Sage ERP product incorporate the same Visual Process Flow common desktop component including Sage 100 ERP and Sage X3 ERP. A great number of ERP type products have nice graphical tools to launch screens, but a key differentiator of our Visual Process Flows is that they aren’t fixed and hard-coded into the product. You can edit all the existing Process Flows and you can create as many new ones as you like. Then you can assign specific Visual Process Flows to the various users in your organization.

Sage 300 ERP 2014 is now in alpha testing and will be shown at the upcoming Sage Summit conference in Washington, DC. With this release we are adding a number of improvements to the Visual Process Flow features.

New Visual Process Flows

Sage 300 ERP 2014 will be bundled with three new Visual Process Flows. The first one is for Project and Job Costing Transactions shown below:

pjcvpf

Then we have on for Canadian Payroll Transactions and another for US Payroll Transactions. Below is the screen shot for the Canadian Payroll one. Notice that I resized the tree of icons down to zero width so you only see the Process Flow. This way you can do away with the tree of icons entirely and run entirely from Visual Process Flows.

prvpf

Desktop Customization

Generally, you use the provided Visual Process Flows as starting points and then customize them to exactly match the roles within a company. With Sage 300 ERP 2012 you can only add elements to Visual Process Flows that run standard existing UIs. There wasn’t a mechanism to run the other sorts of objects you can add to the Sage 300 Desktop.

With Sage 300 ERP 2014, you can now add and run Crystal Reports, VBA Macros and arbitrary EXE programs just like you can directly from the bare Desktop. When you are have a Process Flow in Edit mode you can now select these as link types and specify them in the designer. Generally you do this by using the Browse (…) button in the Link… dialog.

editvpf

This way if you have Macros (perhaps custom screens) or custom reports you can include these in a user’s workflow.

Running Other Process Flows

Another ability we’ve added is to run one Visual Process Flow from another. This give you the ability to provide links to common functions as well as create Visual Process Flows with many pages. You could even re-create the Sage 300 ERP Desktop with a Process Flow for each group of icons (with better graphics) and then link them all together to replace the tree of icons entirely.

If a user has multiple roles, you could produce a master page with all their job functions and then each one of these runs a Process Flow for the individual functions. Basically allowing you to automate larger processes than you could before.

Summary

Visual Process Flows were introduced in Sage 300 ERP 2012 and with the upcoming Sage 300 ERP 2014 we are adding quite a few enhancements to make these even better.

Introducing Sage City Online

with one comment

Introduction

Last year at Sage Summit in Nashville we tried an experiment in social networking that we called Sage City. I mentioned this in my blog on Sage Summit 2012 here. Sage City in Nashville was a huge success and we will be building on that for an even better Sage City event at this year’s Sage Summit conference in Washington, DC.

Last week we opened the online version of Sage City. The intent is to build a social networking super-site for all Sage customers, partners and employees.

sagecity1

History

There has always been a lot of social networking around Sage and its products. Typically each product group or division operated its own set of forums and blogs. This is then hard for customers who use several products like say Sage CRM and Sage ERP. They need to join several disparate communities, which are all quite different.

There are all sort of groups on the main social networking sites like Facebook or LinkedIn. Many of these groups are highly successful with thousands of members. For instance the Sage Partners, Employees & Alumni Networking Group on LinkedIn has over 8200 members and has lots of interesting activity.

The external groups are doing great and will continue to do so. But something needed to be done about all the internal groups. Many were running different software platforms, used different sign-on ids, looked quite different, and had different policies and so on.

Unify the Sage Social Sites

The first goal of Sage City was to unify all these different Sage social communities into one place. Basically a Sage customer now only needs to sign up for Sage City and then they can join discussions on many Sage products as well as reference all sorts of other on-line resources. Now all the Sage forums are using the same software, they all work the same way and they will all be updated and maintained together providing a unified experience. Below is just the start of quite long list of support communities available on Sage City:

sagecity2

Notice that we now have both unified customer communities as well as unified partner communities.

You might ask: What about all the great content in all the previous discussion forums and blogs? The Sage City team did a great job of bringing all this content over to the new site. This isn’t an empty site waiting to be filled, there are already hundreds of blog postings and thousands of discussion forum threads imported from the older sites. This provides a great resource of information that has already been captured.

Business Communities

If you attended Sage Summit last year, you know that Sage City wasn’t organized around products, it was organized around business interests. Now that we’ve brought together all the different product social sites into one place, this now gives us a great opportunity to build on this new greater expanded community.

Across all the different Sage business products there is a lot of commonality in professional function. For instance there are many Accountants using Sage ERP products. Sage City offers social sites for all of these. In the screen shot below is the start of the list of the various business communities that are available on Sage City:

sagecity3

The key to their success is that these communities are large enough to be vibrant and self-sustaining. By bringing together the larger Sage community we can achieve this.

Most business issues and problems don’t have anything to do with ERP or CRM software and these new forums offer a great opportunity to discuss these with knowledgeable peers in a community of like minded people.

A True Social Site

Besides unifying all our various discussion forums and blogs, the new Sage City site also offers many of the expected social features that you would expect on any modern Social Media site. You can have friends, follow people, like things, join groups, send messages, mark favorites, subscribe to RSS feeds, and post comments and replies.

The site is integrated with Twitter feeds and with Sage’s product idea site.

There are discussion forums, blogs and videos. There are feeds showing all the activities going on either on the whole site or just in a specific group.

sagecity4

A Platform to Build On

Last week was the initial launch, but we have a large enthusiastic team that continues to work on Sage City, so you can expect to see regular updates and enhancements to make this a continually growing and more and more vibrant site.

The first goal is to attract as many people as possible to the site. The strength and value of a community is built on the enthusiasm of the individual participants. A strong community is a powerful thing. Hopefully by bringing together all the customers, partners and employees from separate Sage product camps we can build a much more valuable community than we could acting separately.

Summary

Sage City is now live. Sage City is so new the Google Spiders haven’t even cataloged its contents yet. But I think Sage City is a great improvement over Sage’s separate product social site. There are already lots of active users and discussions. I’ll be contributing regularly and I hope to see you there as well.

 

The Sage Hybrid Cloud

with 3 comments

Introduction

We introduced the concept of the Sage Hybrid Cloud along with a number of connected services at our Sage Summit conference back in August. This is intended to be a cloud based platform that greatly augments our on-premises business applications.

This blog posting will look at this platform in a bit more depth. Keep in mind that this platform is still under rapid development and that things are changing rapidly. If we think of better ways to do things, we will. We are approaching this with an Agile/Startup mentality, so we aren’t going to go off for years and years and develop this platform in a vacuum. We will be developing the functionality as we need it, for our real applications. This way we won’t spend time developing infrastructure that no one ends up using. Plus we will get feedback quicker on what is needed, since we will be releasing in quick cycles.

The Hybrid Cloud Platform

Below is a diagram showing the overall architecture of this platform. We have a number of cloud services hosted in the MS Azure cloud. We have a number of Sage business applications with a connector to this cloud. Then we have a number of mobile/web applications built on top of this hybrid cloud platform. Notice that pieces of this platform are already in use, with Sage Construction Anywhere (SCA) being a released product and then Sage 300 CRE already having a connector to this cloud to support the SCA mobile application.

The purple box at the bottom represents our current APIs and access methods, and just re-iterates that these are still present and being used.

The red box indicates that we will be hosting ERPs in this environment in a similar manner to our current cloud offerings like Sage300Online.com. We’ll talk about this in much more detail in future blog posts. But consider this Sage hosted applications version 2.0.

Mobile Applications

We demo’ed a number of mobile applications that we have under development at Summit, some screenshots are here. We are working hard to make these applications provide a first class user experience. We are developing these in various technologies and combinations of technologies to drive the user experience to be the best possible. We are writing both HTML5/JavaScript applications using the Argos-SDK, along with writing applications as native iOS, Windows 8 Metro and Android applications. Plus there are technologies that allow use to combine these technologies to use them both where they make sense in an application.

These mobile applications aren’t just current ERP screens ported to mobile/web technologies, they are whole new applications that didn’t exist before these powerful mobile devices came along to enable these ideas.

ERP Connectors

Each ERP needs to connect to the Hybrid cloud, this is to upload files for items that are needed for lookup in the cloud devices like for finders. As well as to download transactions to enter into the ERP on the connected application’s behalf. The intent is to have one connector for each business application, rather than having to install and configure a separate connector for each connected service (which we hope there will be dozens of).

We want to keep the TCO of the solution as low as possible. To this end we don’t want the end user to have to configure any firewalls, DMZ or web servers. The connector will only call out to the cloud platform. There will never be calls into the connector.  Additionally you only need to configure the connector once with your SageID and away you go.

The connector will use SData Synchronization to synchronize the various files. This way it doesn’t matter if your on-premises ERP is off-line, it will catch up later. This makes the system much more robust since your mobile users can keep working even if you turn all your computers off completely.

SData

We will use SData as the communications mechanism from the hybrid cloud. The cloud will host a large set of SData feeds to be used either by the mobile and web applications or by the on-premises ERP connectors.

Since SData is based on industry standards like REST, Atom, RSS and such, it means it’s easy of pretty much any web or mobile based framework to easily use it. All modern toolkits have this support built in. Plus we provide SDKs like the Argos-SDK that have extra SData support built in.

ISVs

The intent will be that ISVs can use the SData feeds from the Hybrid Cloud as well to develop their own applications or to connect existing cloud based applications to all our Sage business applications. However we won’t start out with a complete database model, we will basically be adding to this cloud data model as we require things for our Sage developed solutions as well as for select ISVs. The intent is to get common functionality going first and then fill it in with the more obscure details later. For instance most connected services will need to access common master files like customers, vendors and items. Then most connected services will need to enter common documents like orders and invoices.

The feeling is that most integrations to ERP systems actually don’t access that many things. So the hope is that once the most common master files are synchronized and once the system accepts the most common transactions, then a great number of applications will be possible.

There will also be parts of the cloud database that don’t have any corresponding part in the ERP. There will be a fair bit of data that resides entirely in the cloud that is specific to the cloud portions of these applications.

SageID

When you are signing on to all these various connected services, we don’t want you to need a separate login id and password for each one. We would like you to register a user-id and password with Sage once and then use that identity for accessing every Sage connected service.

Ultimately we would like this to be the user id and password that you use to sign-on to our on-premises applications as well. Then this would be your one identity for all Sage on-premises and cloud applications. Then all your access rights and roles would be associated with this one identity.

Summary

The Sage Hybrid Cloud is an exciting project. The concept is that it’s starting small with the Sage Construction Anywhere product already shipping and then going to develop quickly as we add other services. This should go quickly since we are leveraging the R&D resources of many Sage products to get new exciting mobile products into market quickly spanning the customer base of many Sage business applications.