Skip to content

Billing ​

This section describes billing and accounting entities in Yeti.

Yeti billing is intentionally simple and is based on processing several types of billing events:

Payments ​

Payments represent the flow of funds between an external entity (for example, a bank account) and a Customer Account within Yeti.

The direction of the money flow is defined by the payment amount:

  • A positive amount means funds are transferred from the external entity to the Yeti account.

  • A negative amount means funds are transferred from the Yeti account to the external entity.

Transactions ​

Transactions represent internal spendings or earnings within the Yeti system.

The direction of the money flow is defined by the transaction amount:

  • A positive amount represents spending (account balance decreases).

  • A negative amount represents earning (account balance increases).

CDR Billing ​

During CDR billing, the default behavior is as follows:

  • The customer price is deducted from the customer (call originator) account balance.

  • The vendor price is added to the vendor (termination provider) account balance.

This default behavior can be inverted using the Reverse Billing mechanism:

This diagram illustrates all possible scenarios for a single account. In most real-world scenarios, a single call affects two different accounts - the customer account (call originator), and the vendor account (termination provider).

WARNING

  • Payments and Transactions creation are synchronous processes - Account balance will be modified immediately(in same database transaction).
  • CDR Billing is asynchronous process. When CDR stored, billing event will be generated which will be processed asynchronously by cdr-billing process. It means Account balance modification may be delayed depends on system load.