Requisition numbers provide another way for buying organizations to track orders from the purchase process through billing. A buyer can add a requisition number to any payment group when placing an order. Oracle ATG Web Commerce keeps track of the requisition number and carries it over to the billing process when invoices are generated.

For example, a customer could make a purchase using a corporate credit card, and include a requisition number with the order for the benefit of their company’s finance department. The finance department could then link the credit card bill back to a requisition form filled out before making the purchase.

Since the requisition number is part of the payment group, your back-end code and JSPs can access it like any other property. Linking the requisition number to the payment group rather than the order allows purchasing departments to aggregate purchases involving multiple buyers into a single order without losing information. After the order is created, someone at the purchasing organization must approve the order and supply any payment information your system requires. You can override this functionality changing the checkRequiresApproval pipeline chain. See the Managing the Order Approval Process chapter for more information.

Commerce classes include several features to permit use of requisitions. The atg.commerce.order.PaymentGroup and PaymentGroupImpl classes include the requisitionNumber property, as does the PaymentGroup item descriptor in the order repository (these objects are discussed in depth in the Working With Purchase Process Objects chapter of this manual). The requisitionNumber is generated by the purchasing organization.

The database stores requisition numbers in the dbcpp_pmt_req table and includes an index on the req_number column, allowing quick searches.

Requisition number use is optional. If your sites do not need to support requisition-based purchasing, you can simply omit requisition number fields from your order processing and checkout pages.