Entry
[Business]


Files

file  gncEntry.h
 Business Entry Interface.

Getting Values

The first three return the rounded values -- the last returns the list of unrounded account-values. The list belongs to the entry and will be destroyed, so use it quickly.

typedef GList AccountValueList
gnc_numeric gncEntryReturnValue (GncEntry *entry, gboolean is_inv)
gnc_numeric gncEntryReturnDiscountValue (GncEntry *entry, gboolean is_inv)
gnc_numeric gncEntryReturnTaxValue (GncEntry *entry, gboolean is_inv)
AccountValueListgncEntryReturnTaxValues (GncEntry *entry, gboolean is_inv)
void gncEntryGetValue (GncEntry *entry, gboolean is_inv, gnc_numeric *value, gnc_numeric *discount, gnc_numeric *tax_value, GList **tax_values)
void gncEntryComputeValue (gnc_numeric qty, gnc_numeric price, const GncTaxTable *tax_table, gboolean tax_included, gnc_numeric discount, GncAmountType discount_type, GncDiscountHow discount_how, int SCU, gnc_numeric *value, gnc_numeric *discount_value, GList **tax_values)

Create/Destroy Functions

GncEntrygncEntryCreate (QofBook *book)
void gncEntryDestroy (GncEntry *entry)

Generic (shared) data

void gncEntrySetDate (GncEntry *entry, Timespec date)
void gncEntrySetDateEntered (GncEntry *entry, Timespec date)
void gncEntrySetDescription (GncEntry *entry, const char *desc)
void gncEntrySetAction (GncEntry *entry, const char *action)
void gncEntrySetNotes (GncEntry *entry, const char *notes)
void gncEntrySetQuantity (GncEntry *entry, gnc_numeric quantity)

Customer Invoices

void gncEntrySetInvAccount (GncEntry *entry, Account *acc)
void gncEntrySetInvPrice (GncEntry *entry, gnc_numeric price)
void gncEntrySetInvTaxable (GncEntry *entry, gboolean taxable)
void gncEntrySetInvTaxIncluded (GncEntry *entry, gboolean tax_included)
void gncEntrySetInvTaxTable (GncEntry *entry, GncTaxTable *table)
void gncEntrySetInvDiscount (GncEntry *entry, gnc_numeric discount)
void gncEntrySetInvDiscountType (GncEntry *entry, GncAmountType type)
void gncEntrySetInvDiscountHow (GncEntry *entry, GncDiscountHow how)
void qofEntrySetInvDiscType (GncEntry *entry, const char *type)
void qofEntrySetInvDiscHow (GncEntry *entry, const char *type)

Vendor Bills (and Employee Expenses)

void gncEntrySetBillAccount (GncEntry *entry, Account *acc)
void gncEntrySetBillPrice (GncEntry *entry, gnc_numeric price)
void gncEntrySetBillTaxable (GncEntry *entry, gboolean taxable)
void gncEntrySetBillTaxIncluded (GncEntry *entry, gboolean tax_included)
void gncEntrySetBillTaxTable (GncEntry *entry, GncTaxTable *table)
void gncEntrySetBillable (GncEntry *entry, gboolean billable)
void gncEntrySetBillTo (GncEntry *entry, GncOwner *billto)

employee-stuff

void gncEntrySetBillPayment (GncEntry *entry, GncEntryPaymentType type)

Generic (shared) data

Timespec gncEntryGetDate (const GncEntry *entry)
Timespec gncEntryGetDateEntered (const GncEntry *entry)
const char * gncEntryGetDescription (const GncEntry *entry)
const char * gncEntryGetAction (const GncEntry *entry)
const char * gncEntryGetNotes (const GncEntry *notes)
gnc_numeric gncEntryGetQuantity (const GncEntry *entry)

Customer Invoices

AccountgncEntryGetInvAccount (const GncEntry *entry)
gnc_numeric gncEntryGetInvPrice (const GncEntry *entry)
gnc_numeric gncEntryGetInvDiscount (const GncEntry *entry)
GncAmountType gncEntryGetInvDiscountType (const GncEntry *entry)
GncDiscountHow gncEntryGetInvDiscountHow (const GncEntry *entry)
char * qofEntryGetInvDiscType (const GncEntry *entry)
char * qofEntryGetInvDiscHow (const GncEntry *entry)
gboolean gncEntryGetInvTaxable (const GncEntry *entry)
gboolean gncEntryGetInvTaxIncluded (const GncEntry *entry)
GncTaxTablegncEntryGetInvTaxTable (const GncEntry *entry)

Vendor Bills (and Employee Expenses)

AccountgncEntryGetBillAccount (const GncEntry *entry)
gnc_numeric gncEntryGetBillPrice (const GncEntry *entry)
gboolean gncEntryGetBillTaxable (const GncEntry *entry)
gboolean gncEntryGetBillTaxIncluded (const GncEntry *entry)
GncTaxTablegncEntryGetBillTaxTable (const GncEntry *entry)
gboolean gncEntryGetBillable (const GncEntry *entry)
GncOwnergncEntryGetBillTo (GncEntry *entry)
GncEntryPaymentType gncEntryGetBillPayment (const GncEntry *entry)

Defines

#define GNC_ID_ENTRY   "gncEntry"
#define GNC_TYPE_ENTRY   (gnc_entry_get_type ())
#define GNC_ENTRY(o)   (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_ENTRY, GncEntry))
#define GNC_ENTRY_CLASS(k)   (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_ENTRY, GncEntryClass))
#define GNC_IS_ENTRY(o)   (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_ENTRY))
#define GNC_IS_ENTRY_CLASS(k)   (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_ENTRY))
#define GNC_ENTRY_GET_CLASS(o)   (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_ENTRY, GncEntryClass))
#define gncEntryLookup(book, guid)   QOF_BOOK_LOOKUP_ENTITY((book),(guid),GNC_ID_ENTRY, GncEntry)
#define ENTRY_DATE   "date"
#define ENTRY_DATE_ENTERED   "date-entered"
#define ENTRY_DESC   "desc"
#define ENTRY_ACTION   "action"
#define ENTRY_NOTES   "notes"
#define ENTRY_QTY   "qty"
#define ENTRY_IPRICE   "iprice"
#define ENTRY_IACCT   "invoice-account"
#define ENTRY_BACCT   "bill-account"
#define ENTRY_BPRICE   "bprice"
#define ENTRY_BILLABLE   "billable?"
#define ENTRY_BILLTO   "bill-to"
#define ENTRY_ORDER   "order"
#define ENTRY_INVOICE   "invoice"
#define ENTRY_BILL   "bill"
#define ENTRY_INV_DISC_TYPE   "discount-type"
#define ENTRY_INV_DISC_HOW   "discount-method"
#define ENTRY_INV_TAXABLE   "invoice-taxable"
#define ENTRY_BILL_TAXABLE   "bill-taxable"
#define ENTRY_INV_TAX_INC   "invoice-tax-included"
#define ENTRY_BILL_TAX_INC   "bill-tax-included"
#define ENTRY_INV_DISCOUNT   "invoice-discount"
#define ENTRY_BILL_PAY_TYPE   "bill-payment-type"
#define gncEntryGetGUID(x)   qof_instance_get_guid(QOF_INSTANCE(x))

Typedefs

typedef _gncEntry GncEntry
typedef _gncEntryClass GncEntryClass

Enumerations

enum  GncEntryPaymentType { GNC_PAYMENT_CASH = 1, GNC_PAYMENT_CARD }
enum  GncDiscountHow { GNC_DISC_PRETAX = 1, GNC_DISC_SAMETIME, GNC_DISC_POSTTAX }

Functions

GType gnc_entry_get_type (void)
const char * gncEntryDiscountHowToString (GncDiscountHow how)
gboolean gncEntryDiscountStringToHow (const char *str, GncDiscountHow *how)
const char * gncEntryPaymentTypeToString (GncEntryPaymentType type)
gboolean gncEntryPaymentStringToType (const char *str, GncEntryPaymentType *type)
void gncEntryCopy (const GncEntry *src, GncEntry *dest)
GncOrdergncEntryGetOrder (const GncEntry *entry)
GncInvoicegncEntryGetInvoice (const GncEntry *entry)
GncInvoicegncEntryGetBill (const GncEntry *entry)
gboolean gncEntryIsOpen (const GncEntry *entry)
void gncEntryBeginEdit (GncEntry *entry)
void gncEntryCommitEdit (GncEntry *entry)
int gncEntryCompare (const GncEntry *a, const GncEntry *b)


Define Documentation

#define gncEntryLookup ( book,
guid   )     QOF_BOOK_LOOKUP_ENTITY((book),(guid),GNC_ID_ENTRY, GncEntry)

Return a pointer to the instance gncEntry that is identified by the guid, and is residing in the book. Returns NULL if the instance can't be found. Equivalent function prototype is GncEntry * gncEntryLookup (QofBook *book, const GUID *guid);

Definition at line 223 of file gncEntry.h.


Enumeration Type Documentation

enum GncDiscountHow

Enumerator:
GNC_DISC_PRETAX 
GNC_DISC_SAMETIME 
GNC_DISC_POSTTAX 

Definition at line 42 of file gncEntry.h.

00042              {
00043   GNC_DISC_PRETAX = 1,
00044   GNC_DISC_SAMETIME,
00045   GNC_DISC_POSTTAX
00046 } GncDiscountHow;

enum GncEntryPaymentType

Enumerator:
GNC_PAYMENT_CASH 
GNC_PAYMENT_CARD 

Definition at line 37 of file gncEntry.h.

00037              {
00038   GNC_PAYMENT_CASH = 1,
00039   GNC_PAYMENT_CARD
00040 } GncEntryPaymentType;


Function Documentation

const char* gncEntryDiscountHowToString ( GncDiscountHow  how  ) 

How to apply the discount and taxes. There are three distinct ways to apply them:

Type: discount tax PRETAX pretax pretax-discount SAMETIME pretax pretax POSTTAX pretax+tax pretax

Definition at line 111 of file gncEntry.c.

00112 {
00113   switch(how)
00114   {
00115     GNC_RETURN_ENUM_AS_STRING(GNC_DISC_PRETAX, "PRETAX");
00116     GNC_RETURN_ENUM_AS_STRING(GNC_DISC_SAMETIME, "SAMETIME");
00117     GNC_RETURN_ENUM_AS_STRING(GNC_DISC_POSTTAX, "POSTTAX");
00118     default:
00119       g_warning ("asked to translate unknown discount-how %d.\n", how);
00120       break;
00121   }
00122   return(NULL);
00123 }

void gncEntryGetValue ( GncEntry entry,
gboolean  is_inv,
gnc_numeric value,
gnc_numeric discount,
gnc_numeric tax_value,
GList **  tax_values 
)

Compute the Entry value, tax-value, and discount_value, based on the quantity, price, discount, tax-table, and types. The value is the amount the merchant gets, the taxes are what the gov't gets, and the discount is how much the customer saved. The SCU is the target denominator of the value and tax -- it should be the account or commodity SCU of the target.

The tax_values list is the property of the entry and will be destroyed automatically, so use it quickly. Note that all return values from these two functions are NOT rounded.

Definition at line 1136 of file gncEntry.c.

01139 {
01140   if (!entry) return;
01141   gncEntryRecomputeValues (entry);
01142   if (value)
01143     *value = (is_inv ? entry->i_value : entry->b_value);
01144   if (discount_value)
01145     *discount_value = (is_inv ? entry->i_disc_value : gnc_numeric_zero());
01146   if (tax_value)
01147     *tax_value = (is_inv ? entry->i_tax_value : entry->b_tax_value);
01148   if (tax_values)
01149     *tax_values = (is_inv ? entry->i_tax_values : entry->b_tax_values);
01150 }


Generated on Thu Aug 28 05:06:11 2008 for GnuCash by  doxygen 1.5.2