Uploaded image for project: 'mod-finance-storage'
  1. mod-finance-storage
  2. MODFISTO-315

Simplify the transaction API



    • Story
    • Status: In Refinement (View Workflow)
    • TBD
    • Resolution: Unresolved
    • None
    • None
    • None


      After the transaction API is fixed by MODFISTO-268 and other related stories, it needs to be simplified and optimized. These changes are not in the scope of the previous ones because the previous scope is already large.
      The transaction summary groups a set of operations on transactions that has to be applied together. It can apply to orders or invoices, and it can be used to create or modify transactions. A client module only needs to create it, and it is automatically deleted (together with the temporary transactions) when it is applied or when an error occurs. It is applied when the given number of operations is reached. A transaction summary never needs to be reused.


      • Currently transactions are not deleted using a summary. Why are we not doing that when we need to delete several transactions ?
      • The operation for all transactions is currently determined by the last operation, which means it is not possible to mix different operations such as POST and PUT in one summary. Should we save the operation in the temp transaction to make this possible ?
      • The type of all the transactions (encumbrance, pending payment, etc) is also determined by the last operation. Should we also allow mixing different transaction types ? (this could be useful for something like the implementation for MODINVOICE-360)


      • Create 1 new endpoint for transaction summaries (POST /finance-storage/transaction-summaries).
      • Remove all the old endpoints (there are 8).
      • Some implementation changes might be needed.
      • Update the calls in other modules.


      • Update the API
      • Update the implementation
      • Update calls in other modules.
      • Increase API version (major change)
      • Check all tests

      Acceptance criteria:

      • The API only lists 1 endpoint for transaction summaries
      • All tests still pass

      TestRail: Results


          Issue Links



                Unassigned Unassigned
                damieng Damien Guillaume
                0 Vote for this issue
                1 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases