Business add-ins (BADI): Are enhancements or add ins made to the standard SAP version. They are inserted with the purpose of fulfilling the user requirements without taking the risk of modifying or disturbing the standard functionality.
The BADI functionality in SAP is dividied in BADI DEFINITION & BADI IMPLEMENTATION.
BADI DEFINITION (SE18) is the collection of one interface and one adapter class. Since an interface is a collection of methods these are really not defined instead they are implemented. So the methods are implemented through the BADI IMPLEMENTATION (SE19).
The following is a Step-by-Step guide on how to define and implement a BADI. Special credits to its author: