Automatic Reduction of Mutual Obligations (ARMO)

Copyright © 2016 Olexandr (Alex) Troyanovs'kyy. All Rights Reserved

ARMO concept comprises any assumed Programme (specified in section A below) aimed to reduce mutual obligations of the Programme’s participants, information System (specified in section B below) supporting such programmes, and Transaction specified in section C below.
  1. ARMO programme stipulations.
    1. Any entities dealing with each other on regular basis (e.g. businesses buying/selling on credit and/or borrowing/lending) may choose to participate in a Programme which potentially provides offset of participants’ mutual obligations (receivables and payables) arising from participants’ regular activities and measured in the same unit.
    2. A Programme participants register and exchange data with information System described in section B. Upon successful registration every participant gets its Programme Participant ID (PPID).
    3. A Programme workflow is represented by Operation Periods (OP). Programme Calendar (PC) must be able to generate every OP within the Programme’s lifespan in chronological order. Every time when PC is invoked it should provide data of the next OP. Every OP must have unique label (e.g. OP corresponding to a Business Day may be labeled as YYYYMMDD where YYYY, MM, and DD stand for year, month, and day respectively).
    4. A participant’s receivables and payables (with regard to other participants of the same Programme) accrued by the end of current OP and accompanied with corresponding label may be supplied to ARMO system for processing.
    5. ARMO-results described in paragraph B.3. shall be processed and corresponding ARMO transactions shall be performed to update balances of obligations of every participant.
    6. If necessary and regardless of any OP, participants supply ARMO system with sufficient data about themselves and their partners for the purpose to identify some of those partners as other participants of the same Programme. Data about identified partners received from the System (mentioned in paragraph B.6.) must be used by participants to post obligations to the System as indicated in paragraph A.4.
  2. ARMO system provisions.
    1. The System registers every potential Programme participant and provides it with its PPID as indicated in paragraph A.2.
    2. The System builds directed graph of a Programme participants’ obligations based on corresponding data available by the end of current OP (mentioned in paragraph A.4.), so that nodes of the graph represent participants' PPIDs and edges of the graph represent obligations for pairs of participants: an edge’s value shows the amount of units owed by edge’s begin node (obligor) to the end node (obligee). When the graph is built the System reduces cycles of obligations found in the graph and aggregates amounts reduced in all the cycles for every pair of the graph’s nodes.
    3. For every participant whose current OP's obligations were submitted, the System generates ARMO-result which may contain values reducing participant's both receivables and payables, data enabling to trace those reductions, and the label of current OP.
    4. All computations required to complete tasks described in paragraphs B.2 and B.3 are performed in batch mode.
    5. When all Programme participants' balances of obligations are updated (as indicated in paragraph A.5.) the System assingns next OP taken from PC as new current OP for all participants.
    6. If necessary, the System identifies Programme participants’ partners as other Programme participants based on the data received from participants (mentioned in paragraph A.6.) and supplies participants with PPIDs of their identified partners.
  3. ARMO transaction.
    1. Generally the Transaction should update balances of a participant’s obligations based on the ARMO-result described in paragraph B.3.
    2. Regarding Accounting subject matter the Transaction should be presented as Journal Entry (with the explanation providing traceability of DT and CR values) and applied to reduce balances of corresponding subsidiary AR and AP.