Commercial Off the Shelf (COTS) products are packaged solutions adapted to satisfy the needs of the purchasing organization. All COTS products can be used out of the box, but in most instances, the product is configured to meet the specific needs of the business. These customizations are often done to seamlessly integrate the COTS product with other existing systems.
One common COTS product is PeopleSoft Financial Management Solutions, commonly known as Financials and Supply Chain Management (FSCM), acquired by Oracle in 2005. There are a vast array of modules within FSCM, each with a large set of workflows and potential screen and data customizations.
An SPR client utilizes FSCM to manage the financial accounting aspects for sales processing systems. Flexibility to interface the client systems into Peoplesoft is an absolute necessity — and the greatest challenge when it comes to end-to-end workflow testing.
Basic Integration to PeopleSoft
Let us take, for example, a platform called Ensim, which our client uses for processing and billing of cloud subscription services. Whenever our client sells a service using Amazon Web Services, Microsoft Azure, Google Cloud, etc., the initial order is placed via Ensim, and at the end of the workflow, the client is also billed that way. Everything else related to delivering that service, however, is processed through PeopleSoft.
After an Ensim order is approved and provisioned, a rating job will run overnight to upload the sales order into FSCM via the Peoplesoft Interface Broker (PIB). The system is capable of two-way communication. But as you’ll see below, that’s customizable.
Processing to the General Ledger
Once processed via the PIB, the order is turned into a billable invoice within Peoplesoft via a process called Single Action Invoice (SAI). Within FSCM itself, there are a number of additional processes to get the order through Accounts Receivable and into the General Ledger:
- Finalize and Print Invoices
- Billing Currency Conversion (US or Canadian currency)
- Billing Pre-Load Process
- Load GL Interface (Create Accounting Entries)
- Load AR Pending Items (Load Invoices to AR)
At this point, the Journal Generate process creates the journal entries, which go to the General Ledger. The status of processing the order stays within PSFT, and is not set to communicate back to Ensim. The whole thing looks like this:
Lots of Steps, Lots of Potential Problems, Lots of Tests
At each step along the way, there can be problems with environments, networks, data, etc., which will cause issues with getting the order processed correctly.
- Transactions can stall or error out due to a data misconfiguration in Ensim
- Communication issues with the PIB
- Problems with getting the entry through Pre-Load
- Workflows within the various modules for payments, write offs, refunds, and past due collections
- …and so on, and so forth
Within the General Ledger, there are an equally significant number of workflows related to journal entries: create, edit, post, unpost, delete, change dates, and reconciliation.
As a test analyst, it is crucial for each of these steps to be covered, both positively and negatively. It costs our client money any time a successful order needs to be re-submitted or manually guided through the process — or if a failure causes a process to crash — or worst of all, if the numbers don’t reconcile for an order. We must define, configure and control every aspect of the entire system for every workflow we can identify, and what might happen within them for something to go wrong.
If that sounds structured and controlling, well, so is the bookkeeping and financial analysis within any company. When COTS software such as PeopleSoft is so tightly coupled to the bottom line of our clients, the testing of end-to-end workflow requires the same attention to detail as if the software was a brand-new custom application.