GnuCash 2.3.0
Files | Typedefs | Functions
Accounting Policy (FIFO/LIFO)
GnuCash Engine: Core, Non-GUI Accounting Functions

Files

file  policy.h
 

Implement Accounting Policy.


Typedefs

typedef struct gncpolicy_s GNCPolicy

Functions

GNCPolicyxaccGetFIFOPolicy (void)

Detailed Description

This file implements Accounting Policy. The Accounting Policy determines how Splits are assigned to Lots. The contents of a Lot determines the Gains on that Lot. The default policy is the FIFO policy: the first thing bought is also the first thing sold.


Function Documentation

GNCPolicy* xaccGetFIFOPolicy ( void  )

First-in, First-out Policy This policy will create FIFO Lots. FIFO Lots have the following properties: -- The lot is started with the earliest posted split that isn't a part of another lot already. -- Splits are added to the lot in date order, with earliest splits added first. -- All splits in the lot share the same transaction currency as the split that opened the lot.

Definition at line 178 of file policy.c.

{
    static GNCPolicy *pcy = NULL;

    if (!pcy)
    {
        pcy = g_new (GNCPolicy, 1);
        pcy->PolicyGetLot = FIFOPolicyGetLot;
        pcy->PolicyGetSplit = FIFOPolicyGetSplit;
        pcy->PolicyGetLotOpening = FIFOPolicyGetLotOpening;
        pcy->PolicyIsOpeningSplit = FIFOPolicyIsOpeningSplit;
    }
    return pcy;
}
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines