# OfxTransactionData Struct Reference

## Detailed Description

An abstraction of a transaction in an account.

The OfxTransactionData stucture contains all available information about an actual transaction in an account.

Definition at line 402 of file inc/libofx.h.

## Data Fields

OFX mandatory elements
The OFX spec defines the following elements as mandatory. The associated variables should all contain valid data but you should not trust the servers. Check if the associated *_valid is true before using them.
char | account_id [OFX_ACCOUNT_ID_LENGTH]
OfxAccountData * | account_ptr
int | account_id_valid
TransactionType | transactiontype
int | transactiontype_valid
InvTransactionType | invtransactiontype
int | invtransactiontype_valid
double | units
int | units_valid
double | unitprice
int | unitprice_valid
double | amount
int | amount_valid
char | fi_id [256]
int | fi_id_valid
OFX optional elements
The OFX spec defines the following elements as optional. If the associated *_valid is true, the corresponding element is present and the associated variable contains valid data.
char | unique_id [OFX_UNIQUE_ID_LENGTH]
int | unique_id_valid
char | unique_id_type [OFX_UNIQUE_ID_TYPE_LENGTH]
int | unique_id_type_valid
OfxSecurityData * | security_data_ptr
int | security_data_valid
time_t | date_posted
int | date_posted_valid
time_t | date_initiated
int | date_initiated_valid
time_t | date_funds_available
int | date_funds_available_valid
char | fi_id_corrected [256]
int | fi_id_corrected_valid
FiIdCorrectionAction | fi_id_correction_action
int | fi_id_correction_action_valid
char | server_transaction_id [OFX_SVRTID2_LENGTH]
int | server_transaction_id_valid
char | check_number [OFX_CHECK_NUMBER_LENGTH]
int | check_number_valid
char | reference_number [OFX_REFERENCE_NUMBER_LENGTH]
int | reference_number_valid
long int | standard_industrial_code
int | standard_industrial_code_valid
char | payee_id [OFX_SVRTID2_LENGTH]
int | payee_id_valid
char | name [OFX_TRANSACTION_NAME_LENGTH]
int | name_valid
char | memo [OFX_MEMO2_LENGTH]
int | memo_valid
double | commission
int | commission_valid
double | fees
int | fees_valid
double | oldunits
int | oldunits_valid
double | newunits
int | newunits_valid
OFX mandatory elements
The OFX spec defines the following elements as mandatory. The associated variables should all contain valid data but you should not trust the servers. Check if the associated *_valid is true before using them.
OfxAccountData * | account_ptr
OFX optional elements
The OFX spec defines the following elements as optional. If the associated *_valid is true, the corresponding element is present and the associated variable contains valid data.
OfxSecurityData * | security_data_ptr

## Field Documentation

char OfxTransactionData::account_id

Use this for matching with the relevant account in your application

Definition at line 409 of file inc/libofx.h.

Referenced by OfxTransactionContainer::add_account(), and ofx_proc_transaction_cb().

struct OfxAccountData* OfxTransactionData::account_ptr

Pointer to the full account structure, see OfxAccountData

Definition at line 412 of file libofx-0.8.2/inc/libofx.h.

struct OfxAccountData* OfxTransactionData::account_ptr

Pointer to the full account structure, see OfxAccountData

Definition at line 412 of file inc/libofx.h.

Referenced by OfxTransactionContainer::add_account().

double OfxTransactionData::amount

Total monetary amount of the transaction, signage will determine if money went in or out. amount is the total amount: -(units) * unitprice - various fees

Definition at line 435 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), OfxBankTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

char OfxTransactionData::check_number

The check number is most likely an integer and can probably be converted properly with atoi(). However the spec allows for up to 12 digits, so it is not garanteed to work

Definition at line 495 of file inc/libofx.h.

Referenced by OfxBankTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

double OfxTransactionData::commission

Commission paid to broker (investment transactions only)

Definition at line 511 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

time_t OfxTransactionData::date_funds_available

Date the funds are available (not always provided) (ex: the date you are allowed to withdraw a deposit

Definition at line 474 of file inc/libofx.h.

Referenced by OfxTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

time_t OfxTransactionData::date_initiated

Date the transaction was initiated (ex: date you bought something in a store for credit card; trade date for stocks; day of record for stock split)

Mandatory for investment transactions

Definition at line 467 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), OfxTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

time_t OfxTransactionData::date_posted

Date the transaction took effect (ex: date it appeared on your credit card bill). Setlement date; for stock split, execution date.

Mandatory for bank and credit card transactions

Definition at line 460 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), OfxTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

double OfxTransactionData::fees

Fees applied to trade (investment transactions only)

Definition at line 513 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

char OfxTransactionData::fi_id

Generated by the financial institution (fi), unique id of the transaction, to be used to detect duplicate downloads

Definition at line 440 of file inc/libofx.h.

Referenced by OfxTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

char OfxTransactionData::fi_id_corrected

IMPORTANT: if fi_id_corrected is present, this transaction is meant to replace or delete the transaction with this fi_id. See OfxTransactionData::fi_id_correction_action to know what to do.

Definition at line 481 of file inc/libofx.h.

Referenced by OfxTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

FiIdCorrectionAction OfxTransactionData::fi_id_correction_action

The OfxTransactionData::FiIdCorrectionAction enum contains the action to be taken

Definition at line 485 of file inc/libofx.h.

Referenced by OfxTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

char OfxTransactionData::memo

Extra information not included in name

Definition at line 509 of file inc/libofx.h.

Referenced by OfxTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

char OfxTransactionData::name

Can be the name of the payee or the description of the transaction

Definition at line 506 of file inc/libofx.h.

Referenced by OfxBankTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

char OfxTransactionData::payee_id

The identifier of the payee

Definition at line 504 of file inc/libofx.h.

Referenced by OfxBankTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

char OfxTransactionData::reference_number

Might present in addition to or instead of a check_number. Not necessarily a number

Definition at line 499 of file inc/libofx.h.

Referenced by OfxBankTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

int OfxTransactionData::security_data_valid

A pointer to the security's data.

Definition at line 458 of file inc/libofx.h.

Referenced by OfxTransactionContainer::gen_event(), and ofx_proc_transaction_cb().

char OfxTransactionData::server_transaction_id

Used for user initiated transaction such as payment or funds transfer. Can be seen as a confirmation number.

Definition at line 490 of file inc/libofx.h.

Referenced by OfxTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

long int OfxTransactionData::standard_industrial_code

The standard industrial code can have at most 6 digits

Definition at line 501 of file inc/libofx.h.

Referenced by OfxBankTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

int OfxTransactionData::transactiontype_valid

Investment transaction type. You should read this if transactiontype == OFX_OTHER. See OFX spec 1.6 p.442 to 445 for details

Definition at line 419 of file inc/libofx.h.

Referenced by OfxBankTransactionContainer::add_attribute(), ofx_proc_transaction_cb(), and OfxInvestmentTransactionContainer::OfxInvestmentTransactionContainer().

char OfxTransactionData::unique_id

The id of the security being traded. Mandatory for investment transactions

Definition at line 452 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), OfxTransactionContainer::gen_event(), and ofx_proc_transaction_cb().

char OfxTransactionData::unique_id_type

Usially "CUSIP" for FIs in north america

Definition at line 454 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

double OfxTransactionData::unitprice

Value of each unit, 1.00 if the commodity is money

Definition at line 432 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), OfxBankTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

double OfxTransactionData::units

Variation of the number of units of the commodity Suppose units is -10, ave unitprice is 1. If the commodity is stock, you have 10 less stock, but 10 more dollars in you amccount (fees not considered, see amount). If commodity is money, you have 10 less dollars in your pocket, but 10 more in your account

Definition at line 425 of file inc/libofx.h.

Referenced by OfxInvestmentTransactionContainer::add_attribute(), OfxBankTransactionContainer::add_attribute(), and ofx_proc_transaction_cb().

The documentation for this struct was generated from the following files:

- inc/libofx.h
- libofx-0.8.2/inc/libofx.h