Hello Anwar,
The most important part you have missed up i.e. how you are treating this conditions in SAP pricing procedure. It is to be noted that here the forum is not going to do the entire job, in this case the entire Functional Spec, for you.
You have to be very specific that in which area like how to get the data from different tables to have that in your Invoice Output.
You have to take care the format part and work closely with your ABAPer to make it as per client's format.
Reach out to forum for any specific issue where you are stuck for fetching the data to bring it in the Invoice output.
Finally, you have to make sure that all the relevant configuration has been done and your client has tested it in the GUI level, like the Invoice has to carry all the relevant information which you need to be printed in the Output. Nevertheless, the calculation and some different requirement based on the invoice data can be done at SMARTFORMS and related program.
Hope you understand my point.
Thanks,