GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Files | Typedefs | 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.

179 {
180  static GNCPolicy *pcy = NULL;
181 
182  if (!pcy)
183  {
184  pcy = g_new (GNCPolicy, 1);
185  pcy->PolicyGetLot = FIFOPolicyGetLot;
186  pcy->PolicyGetSplit = FIFOPolicyGetSplit;
187  pcy->PolicyGetLotOpening = FIFOPolicyGetLotOpening;
188  pcy->PolicyIsOpeningSplit = FIFOPolicyIsOpeningSplit;
189  }
190  return pcy;
191 }