GnuCash
2.6.99
|
Files | |
file | gncEntry.h |
Business Entry Interface. | |
Macros | |
#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 | 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 struct _gncEntry | GncEntry |
typedef struct _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, gboolean add_entry) |
GncOrder * | gncEntryGetOrder (const GncEntry *entry) |
GncInvoice * | gncEntryGetInvoice (const GncEntry *entry) |
GncInvoice * | gncEntryGetBill (const GncEntry *entry) |
gboolean | gncEntryIsOpen (const GncEntry *entry) |
void | gncEntryBeginEdit (GncEntry *entry) |
void | gncEntryCommitEdit (GncEntry *entry) |
int | gncEntryCompare (const GncEntry *a, const GncEntry *b) |
Create/Destroy Functions | |
GncEntry * | gncEntryCreate (QofBook *book) |
void | gncEntryDestroy (GncEntry *entry) |
Generic (shared) data | |
void | gncEntrySetDateGDate (GncEntry *entry, const GDate *date) |
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) |
void | gncEntrySetDocQuantity (GncEntry *entry, gnc_numeric quantity, gboolean is_cn) |
GDate | gncEntryGetDateGDate (const GncEntry *entry) |
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) |
gnc_numeric | gncEntryGetDocQuantity (const GncEntry *entry, gboolean is_cn) |
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) |
Account * | gncEntryGetInvAccount (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) |
GncTaxTable * | gncEntryGetInvTaxTable (const GncEntry *entry) |
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) |
Account * | gncEntryGetBillAccount (const GncEntry *entry) |
gnc_numeric | gncEntryGetBillPrice (const GncEntry *entry) |
gboolean | gncEntryGetBillTaxable (const GncEntry *entry) |
gboolean | gncEntryGetBillTaxIncluded (const GncEntry *entry) |
GncTaxTable * | gncEntryGetBillTaxTable (const GncEntry *entry) |
gboolean | gncEntryGetBillable (const GncEntry *entry) |
GncOwner * | gncEntryGetBillTo (GncEntry *entry) |
GncEntryPaymentType | gncEntryGetBillPayment (const GncEntry *entry) |
employee-stuff | |
void | gncEntrySetBillPayment (GncEntry *entry, GncEntryPaymentType type) |
Getting Values | |
An entry has three important values:
These values can be retrieved in several variants. Depending on how they will be used some sign reversals can be applied on the values:
For tax there are TaxValue and TaxValues variants: the first one returns to total tax value for this entry, meaning the sum of all individual taxes. The second one returns a list of all the individual tax values for this entry. This list holds unrounded values only, there's no variant with rounded values. Note that this list is not owned by the entry. When no longer needed, it should be freed with gncAccountValueDestroy. Finally, there are rounded and unrounded variants of most of these functions. | |
typedef GList | AccountValueList |
gnc_numeric | gncEntryGetDocValue (GncEntry *entry, gboolean round, gboolean is_cust_doc, gboolean is_cn) |
gnc_numeric | gncEntryGetDocTaxValue (GncEntry *entry, gboolean round, gboolean is_cust_doc, gboolean is_cn) |
AccountValueList * | gncEntryGetDocTaxValues (GncEntry *entry, gboolean is_cust_doc, gboolean is_cn) |
gnc_numeric | gncEntryGetDocDiscountValue (GncEntry *entry, gboolean round, gboolean is_cust_doc, gboolean is_cn) |
gnc_numeric | gncEntryGetBalValue (GncEntry *entry, gboolean round, gboolean is_cust_doc) |
gnc_numeric | gncEntryGetBalTaxValue (GncEntry *entry, gboolean round, gboolean is_cust_doc) |
AccountValueList * | gncEntryGetBalTaxValues (GncEntry *entry, gboolean is_cust_doc) |
gnc_numeric | gncEntryGetBalDiscountValue (GncEntry *entry, gboolean round, gboolean is_cust_doc) |
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) |
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 | ||
) |
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 return values are NOT rounded.
The tax_values list is owned by the entry and will be destroyed automatically, so use it quickly.
Definition at line 1102 of file gncEntry.c.
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 112 of file gncEntry.c.
AccountValueList* gncEntryGetBalTaxValues | ( | GncEntry * | entry, |
gboolean | is_cust_doc | ||
) |
Careful: the returned list is NOT owned by the entry and should be freed by the caller
Definition at line 1481 of file gncEntry.c.
DEPRECATED - use gncEntryGetDateGDate() instead! (Because the time-of-day is a misleading extra information. We are only dealing with the day information!
Definition at line 878 of file gncEntry.c.
GDate gncEntryGetDateGDate | ( | const GncEntry * | entry | ) |
Returns the day of this entry
Definition at line 887 of file gncEntry.c.
gnc_numeric gncEntryGetDocQuantity | ( | const GncEntry * | entry, |
gboolean | is_cn | ||
) |
Get the quantity as on the physical document. This distinction is made because credit notes store their quantity sign-reversed compared to how the quantity is written on the actual credit note (and hence how the ledger and reports show it to the user).
Definition at line 925 of file gncEntry.c.
AccountValueList* gncEntryGetDocTaxValues | ( | GncEntry * | entry, |
gboolean | is_cust_doc, | ||
gboolean | is_cn | ||
) |
Careful: the returned list is NOT owned by the entry and should be freed by the caller
Definition at line 1445 of file gncEntry.c.
gnc_numeric gncEntryGetQuantity | ( | const GncEntry * | entry | ) |
Get the quantity as stored internally. This distinction is made because credit notes store their quantity sign-reversed compared to how the quantity is written on the actual credit note (and hence how the ledger and reports show it to the user).
Definition at line 919 of file gncEntry.c.
DEPRECATED - use gncEntrySetDateGDate() instead! (Because the time-of-day is a misleading extra information. We are only dealing with the day information!
Definition at line 481 of file gncEntry.c.
void gncEntrySetDateGDate | ( | GncEntry * | entry, |
const GDate * | date | ||
) |
Set the date of this entry
Definition at line 505 of file gncEntry.c.
void gncEntrySetDocQuantity | ( | GncEntry * | entry, |
gnc_numeric | quantity, | ||
gboolean | is_cn | ||
) |
Set the internal quantity converting from the quantity as visible on the physical document. This distinction is made because credit notes store their quantity sign-reversed compared to how the quantity is written on the actual credit note (and hence how the ledger and reports show it to the user).
Definition at line 563 of file gncEntry.c.
void gncEntrySetQuantity | ( | GncEntry * | entry, |
gnc_numeric | quantity | ||
) |
Set the internal quantity without any conversion. This distinction is made because credit notes store their quantity sign-reversed compared to how the quantity is written on the actual credit note (and hence how the ledger and reports show it to the user).
Definition at line 552 of file gncEntry.c.