Posting General Ledger Information

General Ledger (GL) information is posted based on which GL processor you use. For MongoDB, use the gl_posting.jar utility. For PostgreSQL, use the GL REST APIs.

GL data can be processed in aggregate (default) or non-aggregate mode. In aggregate mode, the journal entries produced by the GL processor are grouped by a selected list of fields (GL account names, transaction type, and GlCenter by default), and the revenue amount in each group is summed. The result is written to files in a generic XML format. Integrators must reformat the data into the import format required by GL accounting software to post the data.

The aggregated GL posting data includes the following information:
  • The start date and end date for the specified GL date range.
  • A list of journal entries. Each journal entry includes the following information by default:
    • GL account names. Account1 is the account to debit and Account2 is the account to credit.
    • GL transaction type.
    • The GlCenter tag used for reporting revenue for a line of business, if applicable.
    • Amount of revenue.

The list of fields to aggregate is specified by the aggregateByFields parameter in the gl_posting.yaml file if you use MongoDB with the GL utilities or in the cn-gl-processor Helm values file if you use PostgreSQL with the GL REST APIs.

When the GL posting is executed in non-aggregate mode, it exports the journal entries produced by the GL processor to files in generic XML format. The selected fields of the journal entries are written to the output file. The list of fields to export is defined by the exportFields parameter in the gl_posting.yaml file if you use MongoDB with the GL utilities or in the cn-gl-processor Helm values file if you use PostgreSQL with the GL REST APIs.

The GL posting API GET {HOST:URL}/glPost/{format}/{startDateString}/{endDateString}/{aggregateFlag} supports both aggregate (default) and non-aggregate mode. For more information about generating GL posting data, see the discussion about GL REST APIs.

The following sample output shows aggregated journal entries from GL daily summary records:
<GLPosting>
    <StartDate>2017-08-01</StartDate>
    <EndDate>2017-10-01</EndDate>
    <JournalEntries>
        <JournalEntry>
            <Account1>SMS Asset Usage ACC</Account1>
            <Account2>SMS Asset Usage BCC</Account2>
            <TxnType>10</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>20.00</Amount>
        </JournalEntry>
        <JournalEntry>
            <Account1>A100210</Account1>
            <Account2>VOICE DR ACC</Account2>
            <TxnType>88</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>30.00</Amount>
        </JournalEntry>
        <JournalEntry>
            <Account1>DATA Asset  Usage ACC</Account1>
            <Account2>DATA Asset Usage BCC</Account2>
            <TxnType>10</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>0.98</Amount>
            <IsTaxIncluded>true</IsTaxIncluded>
            <TaxRate>0.08</TaxRate>
            <TaxClass>Standard</TaxClass>
        </JournalEntry>
        <JournalEntry>
            <Account1>VOICE  Asset Usage ACC</Account1>
            <Account2>VOICE Asset Usage BCC</Account2>
            <TxnType>10</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>1.20</Amount>
            <IsTaxIncluded>true</IsTaxIncluded>
            <TaxRate>0.08</TaxRate>
            <TaxClass>Standard</TaxClass>
        </JournalEntry>
        <JournalEntry>
            <Account1>A100210</Account1>
            <Account2>ACC100</Account2>
            <TxnType>88</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>30.00</Amount>
        </JournalEntry>
    </JournalEntries>
</GLPosting>
The following sample output shows non-aggregate mode with the ConsumptionRecords field exported to the posting:
<GLPosting>
    <StartDate>2017-08-01</StartDate>
    <EndDate>2017-10-01</EndDate>
    <JournalEntries>
        <JournalEntry>
            <Account1>SMS  Asset Usage ACC</Account1>
            <Account2>SMS Asset Usage BCC</Account2>
            <TxnType>10</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>20.00</Amount>
            <IsTaxIncluded>true</IsTaxIncluded>
            <TaxRate>0.08</TaxRate>
            <TaxClass>Standard</TaxClass>
            <ConsumptionRecords>
                <ConsumptionRecord>
                    <BalanceClassId>20038</BalanceClassId>
                    <BalanceTemplateId>21653</BalanceTemplateId>
                    <ConsumptionQuantity>200.0</ConsumptionQuantity>
                </ConsumptionRecord>
            </ConsumptionRecords>
        </JournalEntry>
        <JournalEntry>
            <Account1>A100210</Account1>
            <Account2>VOICE DR ACC</Account2>
            <TxnType>88</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>30.00</Amount>
        </JournalEntry>
        <JournalEntry>
            <Account1>DATA Asset  Usage ACC</Account1>
            <Account2>DATA Asset Usae BCC</Account2>
            <TxnType>10</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>0.98</Amount>
            <IsTaxIncluded>true</IsTaxIncluded>
            <TaxRate>0.08</TaxRate>
            <TaxClass>Standard</TaxClass>
            <ConsumptionRecords>
                <ConsumptionRecord>
                    <BalanceClassId>20037</BalanceClassId>
                    <BalanceTemplateId>21474</BalanceTemplateId>
                    <ConsumptionQuantity>500.0</ConsumptionQuantity>
                </ConsumptionRecord>
            </ConsumptionRecords>
        </JournalEntry>
        <JournalEntry>
            <Account1>VOICE  Asset Usage ACC</Account1>
            <Account2>VOICE Asset Usage BCC</Account2>
            <TxnType>10</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>1.20</Amount>
            <IsTaxIncluded>true</IsTaxIncluded>
            <TaxRate>0.08</TaxRate>
            <TaxClass>Standard</TaxClass>
            <ConsumptionRecords>
                <ConsumptionRecord>
                    <BalanceClassId>20034</BalanceClassId>
                    <BalanceTemplateId>21652</BalanceTemplateId>
                    <ConsumptionQuantity>60.0</ConsumptionQuantity>
                </ConsumptionRecord>
            </ConsumptionRecords>
        </JournalEntry>
        <JournalEntry>
            <Account1>A100210</Account1>
            <Account2>ACC100</Account2>
            <TxnType>88</TxnType>
            <GlCenter>myGlCenter123</GlCenter>
            <Amount>30.00</Amount>
        </JournalEntry>
    </JournalEntries>
</GLPosting>