RPM Development Journal

This is a public blog about development of the RPM application.

Wednesday, February 23, 2005

Order reconciliation

The big feature in Pathfinder (RPM 3.5) is process & commission reconciliation. Technically speaking, it's the automatic matching and comparing of commission items to process forms. In the real world that means making sure your orders show up as commissions. And that they're paying correct.

The current link between process forms and commissions in RPM is handled with commission item reference fields. While this is an excellent solution for a trouble ticket process, it doesn't work well (at all?) for order reconciliation. The ideal system has to be able to handle certain real-world problems:

  • The data used to match items to forms will be different per supplier and may not match exactly. Furthermore, a combination of information might be needed if there is no one unique identifier (i.e. Qwest announcing order IDs may be repeated, but not for the same BTN. And maybe Qwest doesn't put dashes in the BTN, but your agents entering the order do).
  • The matching must be automatic. Maybe it's 200 items, maybe it's 200,000 items, you don't want anyone having to do anything manually.
  • One order is likely to result in multiple commission line items showing up. Maybe there's a few products, maybe there will be residuals every run for a year (likely both).
  • Some forms won't have items, some items won't have forms, some items will conflict, some forms will conflict.
  • Some commissions will be wrong. Hopefully most get fixed eventually. Maybe it's just an up-front skewing the total for the first run. Maybe it's a missing product. Maybe it's the wrong billing amount. Maybe it's the wrong commission amount. Maybe it's a 1 cent difference because of rounding.
  • I've got year old orders and I want to leave them alone. I've got year old orders and I want to reconcile them all.
  • And of course I'll want the results of the reconciliation to also be available through filters & columns in other views.

The new system handles each of those.

At the users group meeting in Vegas I'll be demonstrating this new system. I'll also show how it fits into our long term reconciliation vision, and how it complements the existing "gross comm. audit". I'll also explain how this is a first version, and thus will likely show areas that could use improvement when put up against the real world problems of our customers. I'll explain our plan to deal with upgrading the reconciliation in future versions, including a possible 3.6 instead of 4.0.