The functionality for milestones and stage payments, as given by the name, is actually two features that may or may not be combined:
The combined use of milestones and stage payments is defined by the purchase payment type parameter on purchase order line.
To support the fact that the use of milestones and stage payments includes defining a number of steps to be performed and that these steps could be reused on several purchase order lines. There is also the possibility to defining templates to be used for milestones and stage payment. On these templates you can define the purchase payment type to be used and then enter the different steps that should be performed/approved during the life cycle of the milestone/stage payment. The order in which milestones/stage payments should be approved can be set and also the expected lead time for each step. If the purchase payment type is staged you can also define stage percentage of total purchase order line amount that should be represented per individual stage. Note that the sum of stage percentage for all entered stages should be 100% in order to make it possible to use the template. You should also define which of the different stages was the last stage payment. The last stage payment will, when approved on a purchase order line, trigger a reconciliation process that balances the different accounts used for stage payment approvals and purchase order receipt transactions.
To make the reuse of milestone/stage payments easier you can enter a default purchase payment type and milestone/stage payment template to be used per purchase part and supplier.
When entering a new purchase order line the default 
values for purchase payment type and milestone/stage payment template found on 
supplier for purchase part will be fetched. If no default milestone/stage 
payment template is defined you can add a template to one or several purchase order lines by marking these lines and 
then defining the template to be used. As a third option you can also freely 
define a specific set of milestones/stage payment lines to be used for a 
purchase order line.
The setting of purchase payment type will decide if it is possible to add 
milestone or stage payment templates and lines. To change the purchase payment 
type on an existing purchase order line one must first be assured that there are 
no milestone/stage payments lines defined for that purchase order line.
It is possible to add new milestone/stage payment lines throughout the lifecycle 
of the purchase order line. It is not until the last milestone/stage payment has 
been approved that the addition of new stage payment lines is stopped. Update of 
a specific milestone/stage payment line is possible as long as that line is not 
approved or invoiced.
To set a milestone or stage payment to Completed you should approve the line in question. For pure milestones the approval has no other effect than the status for the milestone line being changed and relevant dates on the milestone being set. There are no other system effects. But if you approve a stage payment line there will a number of effects:
When approving the last stage payment there is, in addition to the actions above, a reconciliation process performed that balances the postings made on all 
approvals and all receipt transactions (this includes arrival, returns, scrap 
etc.) so that correct accountings are achieved.
An approval can be revoked and will then reverse the above steps. If the last 
stage payment has been approved it has to be reversed before any of the other 
approvals can be revoked.
The approval of stage payments has a number of impacts on the functional flow of 
a purchase order line
As mentioned the approval of a stage payment lines makes these lines available for invoice matching. As the invoice matching of stage payments only relates to matching of amount and not quantity there are some things that are handled differently compared to invoice matching against receipts:
The financial flow for a purchase order that have stage payments will consist of 
a number of transactions for approval of stage payments as well as normal 
purchase receipt transactions. There will also be supplier invoices entered 
against approved stage payments.
An approval of a stage payment can be performed as soon as the purchase order in 
question has been released. Approvals and receipts (including partial receipts) 
for a purchase order line can be performed in any order. The only restriction 
regarding this order is that the stage payment that is set to be the last stage 
payment cannot be approved unless all other stage payments are approved and all 
purchase receipts for that line are made (purchase order line is closed). So you 
could, for instance, approve all stage payments (except the last one) before any 
receipt is registered or you could register all receipts before any stage 
payment is approved. Or there could be a mix of approvals and receipts for the 
purchase order line as long as the last stage payment is approved after all 
other approvals and the purchase order line is closed. Note that the purchase 
receipt transactions are the same as those used for a non stage payment order 
line. When the last stage payment is approved there will be different actions 
taken depending on the type of part (inventory or non-inventory) that is used on 
the purchase order line. See below.
The fact that a purchase order line uses stage payments means that supplier 
invoices can only be matched against approved stage payments and not against 
receipts. When matching an approved stage payment there will be a comparison 
between what has been booked on the approval transaction and what is booked on 
the invoice. Depending on the type of part (inventory or non-inventory) that is 
used on the purchase order line there will be different actions taken. See below.
Note: Stage payments for inventory parts with Company Rental Asset ownership create postings as for non-inventory part stage payment approvals. Inventory receipt transactions are created without postings, and supplier invoices are matched against non-inventory stage payments approval transactions.
When the last stage payment is approved there is need to reconcile all postings 
made on receipts as they have booked amounts against Received not yet invoiced 
but there will never be any invoices booked against those receipts. So when the 
last stage payment is approved the amounts booked on Received not yet 
invoiced for receipt transactions are reconciled with the amounts booked 
against Stage payments for inventory parts. And if there is a difference in 
these amounts there will be price difference postings added to that 
approval transaction as well. The approval of the last stage payment will also remove 
all receipts for that purchase order line from the received not yet invoiced 
report.
The fact that this reconciliation takes place when the last stage payment is 
approved will lead to doubled bookings for 
approvals and receipts when performing closing of books for a certain period as 
there will be open orders. Note that these doubled bookings are made on both 
liability and asset accounts and will therefore not have an effect on the profit 
and loss statement.
When matching an invoice against a stage payment for an inventory part there 
will be a comparison against the amount booked on the approval transaction that 
is matched and the invoice amount that is entered. If there is a difference it 
will be booked as a price difference on the invoice.
For a non-inventory part there will be no postings made for receipt 
transactions. This is regardless of the setting for creating postings for 
receipt of non-inventory purchase order line found on company actually says that 
there should be postings created for receipts. Instead the preliminary cost is 
posted when a stage payment is approved. This means that there is no need for 
reconciliation postings when the last stage payment is approved.
When matching an invoice against a stage payment for a non-inventory part there 
will first be a posting that reverses
the preliminary postings booked for amounts 
on approval transactions and then there will be a final posting that book the 
invoiced amount. There will not be any price difference bookings posted.