Skip to Content
ModulesAccounting Core

Accounting Core

The Accounting Core module is the heart of Reeve’s financial management system. It is designed to handle all accounting and reporting functionalities from a user perspective, ensuring that financial data is processed accurately and efficiently. The module provides a robust framework for managing financial transactions, generating reports, and maintaining compliance with accounting standards. The Accounting Core offers an API that allows users to interact with the system, enabling them to perform various accounting operations such as creating transactions, generating financial reports, and retrieving transaction history.

Communication with Other Modules

The Accounting Core module communicates with other modules in the Reeve platform to ensure seamless integration and data flow. It interacts with the following modules:

  • Blockchain Publisher: The Accounting core sends transaction to the publisher to be published on the Cardano blockchain and gets status information about the publishing status.
  • ERP Adapter: The Accounting core triggers ERP extractions and gets the results back from the ERP Adapter.
  • Organisation: The organisation module holds all the master data, which is needed to populate the accounting core with the necessary information for processing transactions and generating reports.

API Documentation

The detailed API can be extracted from the swagger documentation of the Accounting Core module.

Event Documentation

The Accounting Core module emits and listens to various events to ensure that the system remains responsive and up-to-date with the latest financial data.

Events the Accounting Core module listens to:

  • TxsLedgerUpdatedEvent: This event is emitted when the ledger of transactions is updated, indicating that new transactions have been processed and the on-chain status changed. This event is typically emitted by the Blockchain Publisher.
  • ReportsLedgerUpdatedEvent: This event is emitted when the reports ledger is updated, indicating that new financial reports have been published and the on-chain status changed. This event is typically emitted by the Blockchain Publisher.
  • TransactionBatchFailedEvent: This event is emitted when a batch of Extraction failed. It will include the reason for the failure and the transactions that were not processed successfully. This event is typically emitted by the ERP Adapter.
  • TransactionBatchStartedEvent: This event is emitted when a batch of transactions is started, indicating that the system is beginning to process a new set of transactions from the ERP. This event is typically emitted by the ERP Adapter.
  • TransactionBatchChunkEvent: This event is emitted when the extraction is running. It contains a batch of transactions that are being processed. This event is typically emitted by the ERP Adapter.
  • ReconcilationFailedEvent: This event is emitted when the reconciliation process fails, indicating that there was an issue with extracting transactions for the reconciliation process. This event is typically emitted by the ERP Adapter.
  • ReconcilationStartedEvent: This event is emitted when the reconciliation process starts, indicating that the system is beginning to extract transactions from the ERP for the reconciliation process. This event is typically emitted by the ERP Adapter.
  • ReconcilationChunkEvent: This event is emitted when the reconciliation process is running. It contains a batch of transactions that are being processed for the reconciliation. This event is typically emitted by the ERP Adapter.
  • ReconcilationFinalisationEvent: This event is emitted when the ERP Adapter extracted all transactions related to the requested reconciliation. This event is typically emitted by the ERP Adapter.

Events emitted by the Accounting Core module:

  • TransactionLedgerUpdateCommand: Emitted when transaction are being published. Contains all information for the publisher.
  • ReportLedgerUpdateCommand: Emitted when reports are being ready to be published. Contains all information for the publisher.
  • TransactionBatchCreatedEvent: Emitted when the batch is created and signalising the ERP adapter, that the module is ready to accept transaction. Will be process by the ERP Adapter.
  • ReconcilationFinalisationEvent: Emitted when the reconcilation is finished and can be wrapped up.
  • ScheduledIngestionEvent: Emitted to initiate an ERP data extraction. Contains filtering parameters.
  • ScheduledReconcilationEvent: Emitted to initate an ERP data extraction for reconcilation.
  • ReconcilationCreatedEvent: Emitted when the reconcilation is created and indicating the ERP adapter, that this module is ready for continuing reconcilation

TODO: Add these events as a diagramm for better readability

Last updated on