A system, a method, and a computer program product for generating or preparing documents are disclosed. At least one processor in a computing system receives at least one parameter relating to a document. The processor generates at least one narrative based on the received parameter. It also generates at least one document mapping based on the generated narrative. The processor combines the generated mapping and the generated narrative to generate the document.