LibOFX
OfxTransactionData Struct Reference

An abstraction of a transaction in an account. More...

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]
 
struct OfxAccountDataaccount_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
 
struct OfxSecurityDatasecurity_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
 

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 474 of file libofx.h.

Field Documentation

◆ account_id

char OfxTransactionData::account_id[OFX_ACCOUNT_ID_LENGTH]

Use this for matching with the relevant account in your application

Definition at line 482 of file libofx.h.

◆ account_ptr

struct OfxAccountData* OfxTransactionData::account_ptr

Pointer to the full account structure, see OfxAccountData

Definition at line 485 of file libofx.h.

◆ amount

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 512 of file libofx.h.

◆ check_number

char OfxTransactionData::check_number[OFX_CHECK_NUMBER_LENGTH]

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 578 of file libofx.h.

◆ commission

double OfxTransactionData::commission

Commission paid to broker (investment transactions only)

Definition at line 600 of file libofx.h.

◆ date_funds_available

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 554 of file libofx.h.

◆ date_initiated

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 546 of file libofx.h.

◆ date_posted

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 539 of file libofx.h.

◆ fees

double OfxTransactionData::fees

Fees applied to trade (investment transactions only)

Definition at line 603 of file libofx.h.

◆ fi_id

char OfxTransactionData::fi_id[256]

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

Definition at line 518 of file libofx.h.

◆ fi_id_corrected

char OfxTransactionData::fi_id_corrected[256]

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 562 of file libofx.h.

◆ fi_id_correction_action

FiIdCorrectionAction OfxTransactionData::fi_id_correction_action

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

Definition at line 567 of file libofx.h.

◆ memo

char OfxTransactionData::memo[OFX_MEMO2_LENGTH]

Extra information not included in name

Definition at line 597 of file libofx.h.

◆ name

char OfxTransactionData::name[OFX_TRANSACTION_NAME_LENGTH]

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

Definition at line 593 of file libofx.h.

◆ payee_id

char OfxTransactionData::payee_id[OFX_SVRTID2_LENGTH]

The identifier of the payee

Definition at line 590 of file libofx.h.

◆ reference_number

char OfxTransactionData::reference_number[OFX_REFERENCE_NUMBER_LENGTH]

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

Definition at line 583 of file libofx.h.

◆ security_data_valid

int OfxTransactionData::security_data_valid

A pointer to the security's data.

Definition at line 537 of file libofx.h.

◆ server_transaction_id

char OfxTransactionData::server_transaction_id[OFX_SVRTID2_LENGTH]

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

Definition at line 572 of file libofx.h.

◆ standard_industrial_code

long int OfxTransactionData::standard_industrial_code

The standard industrial code can have at most 6 digits

Definition at line 586 of file libofx.h.

◆ transactiontype_valid

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 490 of file libofx.h.

◆ unique_id

char OfxTransactionData::unique_id[OFX_UNIQUE_ID_LENGTH]

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

Definition at line 530 of file libofx.h.

◆ unique_id_type

char OfxTransactionData::unique_id_type[OFX_UNIQUE_ID_TYPE_LENGTH]

Usially "CUSIP" for FIs in north america

Definition at line 532 of file libofx.h.

◆ unitprice

double OfxTransactionData::unitprice

Value of each unit, 1.00 if the commodity is money

Definition at line 508 of file libofx.h.

◆ units

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 505 of file libofx.h.


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