GnuCash  5.6-150-g038405b370+
Files | Functions

This file implements Accounting Policy. More...

Files

file  policy.h
 Implement Accounting Policy.
 

Functions

GNCPolicy * xaccGetFIFOPolicy (void)
 First-in, First-out Policy This policy will create FIFO Lots. More...
 

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

◆ xaccGetFIFOPolicy()

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 155 of file policy.cpp.

156 {
157  static GNCPolicy *pcy = nullptr;
158 
159  if (!pcy)
160  {
161  pcy = g_new (GNCPolicy, 1);
162  pcy->PolicyGetLot = FIFOPolicyGetLot;
163  pcy->PolicyGetSplit = FIFOPolicyGetSplit;
164  pcy->PolicyGetLotOpening = FIFOPolicyGetLotOpening;
165  pcy->PolicyIsOpeningSplit = FIFOPolicyIsOpeningSplit;
166  }
167  return pcy;
168 }