Not sure what you mean here. Every transaction that is recorded shows when the payment was made and to which invoices. The invoice then shows all items that the invoice covers, which includes any services.
Yes, Blesta allows an invoice to be paid by several transactions as well as serveral transactions to pay a single invoice. The connection between the payment gateway and the transaction is stored in the transactions table (see transactions.gateway_id, or better yet Transactions::get()).