|
GnuCash
5.6-150-g038405b370+
|
API for Transactions and Splits (journal entries) More...
#include <time.h>#include "gnc-commodity.h"#include "gnc-engine.h"#include "gnc-pricedb.h"#include "Split.h"Go to the source code of this file.
Macros | |
| #define | GNC_TYPE_TRANSACTION (gnc_transaction_get_type ()) |
| #define | GNC_TRANSACTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_TRANSACTION, Transaction)) |
| #define | GNC_TRANSACTION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_TRANSACTION, TransactionClass)) |
| #define | GNC_IS_TRANSACTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_TRANSACTION)) |
| #define | GNC_IS_TRANSACTION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_TRANSACTION)) |
| #define | GNC_TRANSACTION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_TRANSACTION, TransactionClass)) |
| #define | GNC_IS_TRANS(obj) GNC_IS_TRANSACTION(obj) |
| #define | GNC_TRANS(obj) GNC_TRANSACTION(obj) |
| #define | RECONCILED_MATCH_TYPE "reconciled-match" |
| #define | xaccTransGetBook(X) qof_instance_get_book (QOF_INSTANCE(X)) |
| #define | xaccTransGetGUID(X) qof_entity_get_guid(QOF_INSTANCE(X)) |
Transaction Type field values | |
| #define | TXN_TYPE_UNCACHED '?' /** Transaction type not yet cached */ |
| #define | TXN_TYPE_NONE '\0' |
| No transaction type. | |
| #define | TXN_TYPE_INVOICE 'I' |
| Transaction is an invoice. | |
| #define | TXN_TYPE_PAYMENT 'P' |
| Transaction is a payment. | |
| #define | TXN_TYPE_LINK 'L' |
| Transaction is a link between (invoice and payment) lots. | |
Transaction Parameter names | |
| #define | TRANS_KVP "kvp" |
| #define | TRANS_NUM "num" |
| #define | TRANS_DESCRIPTION "desc" |
| #define | TRANS_DATE_ENTERED "date-entered" |
| #define | TRANS_DATE_POSTED "date-posted" |
| #define | TRANS_DATE_DUE "date-due" |
| #define | TRANS_IMBALANCE "trans-imbalance" |
| #define | TRANS_IS_BALANCED "trans-balanced?" |
| #define | TRANS_IS_CLOSING "trans-is-closing?" |
| #define | TRANS_NOTES "notes" |
| #define | TRANS_DOCLINK "doclink" |
| #define | TRANS_TYPE "type" |
| #define | TRANS_VOID_STATUS "void-p" |
| #define | TRANS_VOID_REASON "void-reason" |
| #define | TRANS_VOID_TIME "void-time" |
| #define | TRANS_SPLITLIST "split-list" /* for guid_match_all */ |
Functions | |
| GType | gnc_transaction_get_type (void) |
| void | xaccTransRecordPrice (Transaction *trans, PriceSource source) |
| The xaccTransRecordPrice() method iterates through the splits and and record the non-currency equivalent prices in the price database. More... | |
Transaction date setters/getters | |
| void | xaccTransSetDate (Transaction *trans, int day, int mon, int year) |
| The xaccTransSetDate() method does the same thing as xaccTransSetDate[Posted]Secs(), but takes a convenient day-month-year format. More... | |
| void | xaccTransSetDatePostedGDate (Transaction *trans, GDate date) |
| This method modifies posted date of the transaction, specified by a GDate. More... | |
| void | xaccTransSetDatePostedSecs (Transaction *trans, time64 time) |
| The xaccTransSetDatePostedSecs() method will modify the posted date of the transaction, specified by a time64 (see ctime(3)). More... | |
| void | xaccTransSetDatePostedSecsNormalized (Transaction *trans, time64 time) |
| This function sets the posted date of the transaction, specified by a time64 (see ctime(3)). More... | |
| void | xaccTransSetDateEnteredSecs (Transaction *trans, time64 time) |
| Modify the date of when the transaction was entered. More... | |
| void | xaccTransSetDateDue (Transaction *trans, time64 time) |
| Dates and txn-type for A/R and A/P "invoice" postings. | |
| time64 | xaccTransGetDate (const Transaction *trans) |
| Retrieve the posted date of the transaction. More... | |
| time64 | xaccTransRetDatePosted (const Transaction *trans) |
| Retrieve the posted date of the transaction. More... | |
| GDate | xaccTransGetDatePostedGDate (const Transaction *trans) |
| Retrieve the posted date of the transaction. More... | |
| time64 | xaccTransGetDateEntered (const Transaction *trans) |
| Retrieve the date of when the transaction was entered. More... | |
| time64 | xaccTransRetDateEntered (const Transaction *trans) |
| Retrieve the date of when the transaction was entered. More... | |
| time64 | xaccTransRetDateDue (const Transaction *trans) |
| Dates and txn-type for A/R and A/P "invoice" postings. | |
Transaction voiding | |
| void | xaccTransVoid (Transaction *transaction, const char *reason) |
| xaccTransVoid voids a transaction. More... | |
| void | xaccTransUnvoid (Transaction *transaction) |
| xaccTransUnvoid restores a voided transaction to its original state. More... | |
| Transaction * | xaccTransReverse (Transaction *transaction) |
| xaccTransReverse creates a Transaction that reverses the given transaction by inverting all the numerical values in the given transaction. More... | |
| Transaction * | xaccTransGetReversedBy (const Transaction *trans) |
| Returns the transaction that reversed the given transaction. More... | |
| gboolean | xaccTransGetVoidStatus (const Transaction *transaction) |
| Retrieve information on whether or not a transaction has been voided. More... | |
| const char * | xaccTransGetVoidReason (const Transaction *transaction) |
| Returns the user supplied textual reason why a transaction was voided. More... | |
| time64 | xaccTransGetVoidTime (const Transaction *tr) |
| Returns the time that a transaction was voided. More... | |
Transaction creation and editing | |
| #define | xaccTransLookupDirect(g, b) xaccTransLookup(&(g),b) |
| Transaction * | xaccMallocTransaction (QofBook *book) |
The xaccMallocTransaction() will malloc memory and initialize it. More... | |
| void | xaccTransDestroy (Transaction *trans) |
| Destroys a transaction. More... | |
| Transaction * | xaccTransClone (const Transaction *t) |
The xaccTransClone() method will create a complete copy of an existing transaction. | |
| Transaction * | xaccTransCloneNoKvp (const Transaction *t) |
The xaccTransCloneNoKvp() method will create a complete copy of an existing transaction except that the KVP slots will be empty. | |
| gboolean | xaccTransEqual (const Transaction *ta, const Transaction *tb, gboolean check_guids, gboolean check_splits, gboolean check_balances, gboolean assume_ordered) |
| Equality. More... | |
| void | xaccTransBeginEdit (Transaction *trans) |
| The xaccTransBeginEdit() method must be called before any changes are made to a transaction or any of its component splits. More... | |
| void | xaccTransCommitEdit (Transaction *trans) |
| The xaccTransCommitEdit() method indicates that the changes to the transaction and its splits are complete and should be made permanent. More... | |
| void | xaccTransRollbackEdit (Transaction *trans) |
| The xaccTransRollbackEdit() routine rejects all edits made, and sets the transaction back to where it was before the editing started. More... | |
| gboolean | xaccTransIsOpen (const Transaction *trans) |
| The xaccTransIsOpen() method returns TRUE if the transaction is open for editing. More... | |
| Transaction * | xaccTransLookup (const GncGUID *guid, QofBook *book) |
| The xaccTransLookup() subroutine will return the transaction associated with the given id, or NULL if there is no such transaction. More... | |
| Transaction * | xaccTransCopyToClipBoard (const Transaction *from_trans) |
| Copy a transaction to the 'clipboard' transaction using dupe_transaction. More... | |
| void | xaccTransCopyOnto (const Transaction *from_trans, Transaction *to_trans) |
| Copy a transaction to another using the function below without changing any account information. | |
| void | xaccTransCopyFromClipBoard (const Transaction *from_trans, Transaction *to_trans, const Account *from_acc, Account *to_acc, gboolean no_date) |
| This function explicitly must robustly handle some unusual input. More... | |
| Split * | xaccTransFindSplitByAccount (const Transaction *trans, const Account *acc) |
| void | xaccTransScrubGains (Transaction *trans, Account *gain_acc) |
| The xaccTransScrubGains() routine performs a number of cleanup functions on the indicated transaction, with the end-goal of setting up a consistent set of gains/losses for all the splits in the transaction. More... | |
| guint | gnc_book_count_transactions (QofBook *book) |
Transaction general getters/setters | |
| #define | xaccTransAppendSplit(t, s) xaccSplitSetParent((s), (t)) |
| Add a split to the transaction. More... | |
| gboolean | xaccTransUseTradingAccounts (const Transaction *trans) |
| Determine whether this transaction should use commodity trading accounts. | |
| void | xaccTransSortSplits (Transaction *trans) |
| Sorts the splits in a transaction, putting the debits first, followed by the credits. | |
| void | xaccTransSetTxnType (Transaction *trans, char type) |
| Set the Transaction Type: note the type will be saved into the Transaction kvp property as a backward compatibility measure, for previous GnuCash versions whose xaccTransGetTxnType reads from the kvp slots. More... | |
| char | xaccTransGetTxnType (Transaction *trans) |
| Returns the Transaction Type: note this type will be derived from the transaction splits, returning TXN_TYPE_NONE, TXN_TYPE_INVOICE, TXN_TYPE_LINK, or TXN_TYPE_PAYMENT according to heuristics. More... | |
| void | xaccTransSetNum (Transaction *trans, const char *num) |
| Sets the transaction Number (or ID) field; rather than use this function directly, see 'gnc_set_num_action' in engine/engine-helpers.c & .h which takes a user-set book option for selecting the source for the num-cell (the transaction-number or the split-action field) in registers/reports into account automatically. | |
| void | xaccTransSetDescription (Transaction *trans, const char *desc) |
| Sets the transaction Description. | |
| void | xaccTransSetDocLink (Transaction *trans, const char *doclink) |
| Sets the transaction Document Link. | |
| void | xaccTransSetNotes (Transaction *trans, const char *notes) |
| Sets the transaction Notes. More... | |
| const char * | xaccTransGetNum (const Transaction *trans) |
| Gets the transaction Number (or ID) field; rather than use this function directly, see 'gnc_get_num_action' and 'gnc_get_action_num' in engine/engine-helpers.c & .h which takes a user-set book option for selecting the source for the num-cell (the transaction-number or the split-action field) in registers/reports into account automatically. | |
| const char * | xaccTransGetDescription (const Transaction *trans) |
| Gets the transaction Description. | |
| const char * | xaccTransGetDocLink (const Transaction *trans) |
| Gets the transaction Document Link. | |
| const char * | xaccTransGetNotes (const Transaction *trans) |
| Gets the transaction Notes. More... | |
| void | xaccTransSetIsClosingTxn (Transaction *trans, gboolean is_closing) |
| Sets whether or not this transaction is a "closing transaction". | |
| gboolean | xaccTransGetIsClosingTxn (const Transaction *trans) |
| Returns whether this transaction is a "closing transaction". | |
| void | xaccTransClearSplits (Transaction *trans) |
| Remove all splits from the transaction. More... | |
| Split * | xaccTransGetSplit (const Transaction *trans, int i) |
| Return a pointer to the indexed split in this transaction's split list. More... | |
| int | xaccTransGetSplitIndex (const Transaction *trans, const Split *split) |
| Inverse of xaccTransGetSplit() | |
| SplitList * | xaccTransGetSplitList (const Transaction *trans) |
| The xaccTransGetSplitList() method returns a GList of the splits in a transaction. More... | |
| SplitList * | xaccTransGetPaymentAcctSplitList (const Transaction *trans) |
| The xaccTransGetPaymentAcctSplitList() method returns a GList of the splits in a transaction that belong to an account which is considered a valid account for business payments. More... | |
| SplitList * | xaccTransGetAPARAcctSplitList (const Transaction *trans, gboolean strict) |
| The xaccTransGetAPARSplitList() method returns a GList of the splits in a transaction that belong to an AR or AP account. More... | |
| gboolean | xaccTransStillHasSplit (const Transaction *trans, const Split *s) |
| Split * | xaccTransGetFirstPaymentAcctSplit (const Transaction *trans) |
| The xaccTransGetFirstPaymentAcctSplit() method returns a pointer to the first split in this transaction that belongs to an account which is considered a valid account for business payments. More... | |
| Split * | xaccTransGetFirstAPARAcctSplit (const Transaction *trans, gboolean strict) |
| The xaccTransGetFirstPaymentAcctSplit() method returns a pointer to the first split in this transaction that belongs to an AR or AP account. More... | |
| void | xaccTransSetReadOnly (Transaction *trans, const char *reason) |
| Set the transaction to be ReadOnly by setting a non-NULL value as "reason". More... | |
| void | xaccTransClearReadOnly (Transaction *trans) |
| const char * | xaccTransGetReadOnly (Transaction *trans) |
| Returns a non-NULL value if this Transaction was marked as read-only with some specific "reason" text. More... | |
| gboolean | xaccTransIsReadonlyByPostedDate (const Transaction *trans) |
| Returns TRUE if this Transaction is read-only because its posted-date is older than the "auto-readonly" threshold of this book. More... | |
| int | xaccTransCountSplits (const Transaction *trans) |
| Returns the number of splits in this transaction. More... | |
| gboolean | xaccTransHasReconciledSplits (const Transaction *trans) |
| FIXME: document me. | |
| gboolean | xaccTransHasReconciledSplitsByAccount (const Transaction *trans, const Account *account) |
| FIXME: document me. | |
| gboolean | xaccTransHasSplitsInState (const Transaction *trans, const char state) |
| FIXME: document me. | |
| gboolean | xaccTransHasSplitsInStateByAccount (const Transaction *trans, const char state, const Account *account) |
| FIXME: document me. | |
| gnc_commodity * | xaccTransGetCurrency (const Transaction *trans) |
| Returns the valuation commodity of this transaction. More... | |
| void | xaccTransSetCurrency (Transaction *trans, gnc_commodity *curr) |
| Set the commodity of this transaction. More... | |
| gnc_numeric | xaccTransGetImbalanceValue (const Transaction *trans) |
| The xaccTransGetImbalanceValue() method returns the total value of the transaction. More... | |
| MonetaryList * | xaccTransGetImbalance (const Transaction *trans) |
| The xaccTransGetImbalance method returns a list giving the value of the transaction in each currency for which the balance is not zero. More... | |
| gboolean | xaccTransIsBalanced (const Transaction *trans) |
| Returns true if the transaction is balanced according to the rules currently in effect. More... | |
| gnc_numeric | xaccTransGetAccountValue (const Transaction *trans, const Account *account) |
| The xaccTransGetAccountValue() method returns the total value applied to a particular account. More... | |
| gnc_numeric | xaccTransGetAccountAmount (const Transaction *trans, const Account *account) |
| Same as xaccTransGetAccountValue, but uses the Account's commodity. More... | |
| gnc_numeric | xaccTransGetAccountConvRate (const Transaction *txn, const Account *acc) |
| gnc_numeric | xaccTransGetAccountBalance (const Transaction *trans, const Account *account) |
| Get the account balance for the specified account after the last split in the specified transaction. More... | |
| int | xaccTransOrder (const Transaction *ta, const Transaction *tb) |
| The xaccTransOrder(ta,tb) method is useful for sorting. More... | |
| int | xaccTransOrder_num_action (const Transaction *ta, const char *actna, const Transaction *tb, const char *actnb) |
| The xaccTransOrder_num_action(ta,actna,tb,actnb) method is useful for sorting. More... | |
API for Transactions and Splits (journal entries)
Definition in file Transaction.h.
1.8.14