How to use account_payment module

I would like to know if someone could help me with information on how to use the account_payment module to register the advanced payments (also known as down payment before proceeding with an order) from customers and later pull them back to pay the invoice. I am a bit confused and bit ignorant on how to use the module. Maybe it is because I don’t understand the concept of what the payment module really does.
I tried to create an entry in Payments for $500 to represent money that I will receive from a customer, then i press the action buttons that will take the payment into various stages from draft, approved, processing, to succeeded. I assume the succeeded stage means that money has been received and is deposited into the bank account. Everything looks good, but when I look into the account moves, I don’t see any moves created for the reception of the payment. I believe the payments, once reach the succeeded stage, should post the account moves like an invoice, but this is where I am confused. Later when I want to submit the payment from the same customer to pay the invoice, I don’t see how do I pull the $500 as money to partially pay the invoice. Can anyone give me some insight?

Digging a little bit in the forum i found this Payment and statement topic where something similar is discussed where another module the “account_statement” module comes to play to role of creating the account moves for the payment. If this is how it is done, can someone provide me with a short sequence of steps on how would I accomplish that what I need.

Based on the information I have found on this forum and my rough imagination on how this is applied in practice, I think the account_payment module is used by the “sales agent” just to register the potential payments from customer; so no account moves are issued. When the payment comes in either in cash or as a transaction as in a bank statement, it is processed by the accountant in the account_statement module which will then generate the actual account moves. Is this the right concept about those modules?

Many thanks in advanced.

Payment exists to plan payments with third party like the bank (with SEPA) or with online payment provider (e.g. Stripe). They do not create accounting move on succeed by default because succeed does not necessary means the money is already owned. Usually it is a statement that register the actual money movement. But with the account_payment_clearing module, you can have a pending accounting move booked per payment succeeded that can be reconciled with statement.
So payment by itself is not very useful if it is not coupled with a third party service.
For advance payment, you should consider using sale_advance_payment which creates advance payment invoice which must be paid before processing a sale.