Blanket Contract and Procurement in Maximo


A friend of mine who has experience with SAP asked whether Maximo can handle a “Blanket PO” process similar to SAP. I sent him my answer based on the scenario and requirement he provided and think it is probably worth posting here as some other people may find it interesting:




In the Purchase Contracts application, we can create a new Purchase Contract of type “Blanket”  and give it a Maximum Amount say $1.5M. Some companies call it “Budget” because this is the limit a user can use to release Purchase Orders (PO). This is called “Release PO” in Maximo, but I saw many of my clients in the energy sector refer to it as “Call-Out” or “Work order”. Blanket Contract is also sometimes referred to using different terms such as Frame Contract, Framework Contract, or Price Contract. I mention this because the “Work Order” PO can easily be confused with normal maintenance Work Order, and “Price contract” in this case can easily be confused with the “Price Contract” type in Maximo which works a bit differently.

To create a Release PO, on the Contract app, we use the “Select Action >> Create Release PO”, then select the contract items we want to procure. We can choose not to select any existing contract item, and generate an empty PO, and add service/material items to the PO lines later. The total amount of the PO will still be counted against this Contract.



GL Account is specified in PO, not in Contract because contract is an agreement between the operating company and a 3rd party vendor; it is generally to define terms and conditions, and set a fixed price for certain goods or services. When the good or service is actually ordered (by issuing a Release PO), we will have better idea of where and how it is used (on what project/work order or on what location/asset/cost center?).

In the Purchase Order application, we can distribute the cost of each line item to charge against different cost centers or GL accounts for more detailed financial reporting. To do this, we can select a line and click on the “Distribute Cost” button and specify the cost and GL account that we want to charge against. This information will also be copied to Invoice when creating Invoice record so that accountants can determine what expenses will be recorded against what accounts.



The rest of the steps are similar to standard procurement process: we can receive material/service using the Receiving application, and we can create Invoice to against the receipts. (In the Receiving application, even with the latest version, Maximo still treat each line item received as a separate transaction, I prefer IBM to introduce an app group all items received each time into one Receipt header record which can be used to enter details like receiver, inspector, and actual receipt date).

If Maximo is integrated with Finance system, generally, items in an approved PO are posted as “commitment” transaction, items received into inventory are posted as “accrual”, and item/service purchased against an Asset/Location, Work order, or simply a GL, which are referred to as “Direct Issue” item in Maximo, are posted as “expense”, and Invoice are posted as “payable”, “tax”, and “expense” transactions.

In the Contract application, we can open a Blanket Contract, click on “Select Action >> View Release Cost” to see with the original “budget”, how many Release POs have been issued, total committed amount, total received, and the remaining of the “budgeted” amount we have left to spend on future release.




6 comments:

  1. Thanks for sharing .Good information

    ReplyDelete
  2. Hey Buddy I found the functionality to not meeting some business requirements as SAP will maintain single PONUM while releasing or creating release POs...This PONUM will stay open until the dollar amount is all consumed..For example if the PO maximum release amount 150k, the release POs will be generated and invoice recieved as the variance is captured..That is why I feel SAP process is easier compared to the Blanket type PO contract in Maximo

    ReplyDelete
    Replies
    1. Yes, there are differences between the two systems. In Maximo, this is managed in two separate apps: Contract and PO. While in SAP, it is managed in one PO app. People who used to the functionality of one system will usually find the other system a little weird because of different process flow. Basic principle are the same on both systems though. So you should be able to achieve the business requirement on either Maximo or SAP. The real consideration would be whether you already have such process in SAP or not? If you already have it in SAP, there is no reason why you shouldn't continue to use it on SAP and integrate with Maximo. Commercial team should use one single system for procurement. If the process is not implemented in SAP, and requirement for Contract Management is only for spare-part and service related to maintenance activities, then you can consider implement it in Maximo. However, keep in mind that later on, you will still have to integrate with SAP to post accounting journals to the ledgers on transactions such as Receipts, Invoice etc.

      I find that ERP suites like SAP or Oracle have much stronger capability in Procurement and Inventory management. As such, in the case your company already have both SAP and Maximo, I would suggest you to implement the procurement process in SAP.

      Delete
  3. What are the thoughts if an interface exists with data originating in SAP. So an OUTBOUND PO interface from SAP to Maximo would need to create a CONTRACT and a PO? How complicated is that to create something from nothing when the 2 systems are not aligned? Can I obtain all the contract info needed by Maximo from a PO coming out of SAP?

    Just checking,
    Miller

    ReplyDelete
  4. Hi, thanks for your post, it is helpful.
    However, Blanket or Call-Off PO's I have worked with in other applications allow you to track the quantities called off against the original contract line. It seems that a Blanket contract here only tracks the total purchased value versus the original maximum amount. But even then you don't need to enter a maximum amount in the blanket PO.
    Let's say you raise the blanket contract for 100ea of an item and then create a release PO for 20, Maximo doesn't track that 80 are left to be called off.
    In this way you could achieve the same result by raising a 'Purchase' contract rather than a 'Blanket' contract and then generating a new PO from within the PO application by 'create new' then reference the contract then select 'Contract Lines' and tick the relevant ones. This effectively copies the contract lines into the PO
    What do you see as the main benefit of using BLANKET?

    Thanks

    ReplyDelete