Step 6: Implement confirmation/posting of your document

Posting of your document usually consist of creating accounting entries in ledger and updating your document to posted state. Source Document Framework will help you create accounting. a)      Add code necessary to perform state update of your document during posting (for instance, you can add a field IsPosted to your document header and set it…


Step 5: Add code to distribute and journalize source document amounts

There might be a need to create new monetary amounts but that is optional and you may find existing monetary amounts sufficient. It depends if existing monetary amounts are a good fit for your document and have appropriate names to display on accounting distributions form. Either new or existing MonetaryAmount enum values will be used…


Step 4: Add Source Document Framework forms to your document UI

This initial wiring will just display empty windows as you didn’t create code which would calculate distributions. But it is good to do it now to be able to have a quick visual test when you later add code related to distributions. a)      Make sure you supplied both Label and SingularLabel for your document header…


Step 3: Perform initial wiring to Source Document Framework – document classes

Now you need to implement few classes representing your source document. a)      Create a class which extends SourceDocumentType. Using framework naming standards name this class MyDocumentSourceDocumentType. Implement all abstract methods (see examples in the following existing classes: CustInvoiceSourceDocType, VendorInvoiceSourceDocType, PurchaseOrderSourceDocumentType) – parmModule(): used to determine whether it is valid to add entries to subledger for given…


Step 2: Perform initial wiring to Source Document Framework – tables and maps

The Source Document Framework (Accounting Framework) will provide functionality necessary to record business events and create accounting for the newly created document – accounting distributions and subledger journal entries. But you will need to inform the framework how to deal with your document. a)      Reference source document header Modify the table definition of your document…


Step 1: Prerequisite – create your document

At this point you should not be concerned about Source Document Framework, but only about the document storage, UI and perhaps some domain logic responsible for processing the document. Storage usually consists of two tables, one for storing document header information (MyDocumentHeader) and another one to store document lines information (MyDocumentLine). The UI usually requires…


Extending the Source Document Framework

The upcoming series of blog posts is created to help developers new to Source Document Framework flatten the learning curve and quickly get up and running with their own source document extensions. The information presented here is covering the mainstream scenario. It is divided into 6 steps: Step 1: Prerequisite – create your document Step 2:…