GeneratedTransactions

class q2_sdk.hq.db.generated_transactions.GetGeneratedTransactionsParams(customer_id, from_date, to_date, recurring_transaction_id=None)[source]

Bases: object

GetGeneratedTransactionsParams(customer_id: int, from_date: str, to_date: str, recurring_transaction_id: Optional[int] = None)

customer_id: int
from_date: str
to_date: str
recurring_transaction_id: Optional[int] = None
class q2_sdk.hq.db.generated_transactions.AddTransactionNoteParams(transaction_id, admin_login_name, note, note_date=None)[source]

Bases: object

AddTransactionNoteParams(transaction_id: int, admin_login_name: int, note: int, note_date: Optional[str] = None)

transaction_id: int
admin_login_name: int
note: int
note_date: Optional[str] = None
enum q2_sdk.hq.db.generated_transactions.DateColumn(value)[source]

Bases: Enum

Valid values are as follows:

CreateDate = <DateColumn.CreateDate: 'Create'>
ProcessDate = <DateColumn.ProcessDate: 'Process'>
exception q2_sdk.hq.db.generated_transactions.DateTimeEntryError[source]

Bases: Exception

Transaction CreateDates are not entered correctly

class q2_sdk.hq.db.generated_transactions.GeneratedTransactionsPending(element, row_class=None, rename_fields=None)[source]

Bases: TableRow

CustomerID: int
TransactionID: int
TransactionStatus: str
TransactionType: str
Description: str
CreatedDate: str
class q2_sdk.hq.db.generated_transactions.ExternalGeneratedTransfer(element, row_class=None, rename_fields=None)[source]

Bases: TableRow

TransactionDirection: str
TransactionID: int
CustomerID: int
UserID: int
CreateDate: str
TransactionStatusID: int
TransactionStatus: str
ProcessDate: str
ProcessedDate: str
OriginatingAccountID: int
OriginatingAccountNumberExternal: str
OriginatingABA: str
TransactionAmount: float
AuthorizedUserID: int
AuthorizedDate: str
RecurringTransactionID: int
RecurringMaster: int
Description: str
TargetDescription: str
TargetAccountNumberExternal: str
TargetABA: str
class q2_sdk.hq.db.generated_transactions.GeneratedTransactionsRow(element, row_class=None, rename_fields=None)[source]

Bases: TableRow

TransactionID: int
CustomerID: int
CustomerName: str
UserID: int
CreateDate: str
UISourceID: int
UISource: str
TransactionStatusID: int
TransactionStatus: str
TransactionStatusDescription: str
TransactionTypeID: int
TransactionType: str
TransactionTypeDescription: str
ProcessDate: str
ProcessedDate: str
Diagnostic: str
HostAccountID: int
AccountNumberInternal: str
AccountNumberExternal: str
ProductID: int
ProductName: str
ProductTypeID: int
ProductTypeName: str
CurrencyCode: str
AuthorizedByID: int
AuthorizedDate: str
ModifiedByID: int
ModifiedBy: str
ModifiedDate: str
TemplateID: int
HostResult: str
HydraProductTypeCode: str
HostProductTypeCode: str
HydraProductCode: str
HostProductCode: str
ProcessingTypeID: int
ProcessingType: str
ProcessingTypeDescription: str
TargetDescription: str
ParentID: int
SettlementID: int
HasChildren: bool
IsDistributedFundingChild: bool
SkipBalanceCheck: bool
CifInternal: str
AccountNickName: str
EffectiveDate: str
BillPayeeID: int
PayeeDisplayName: str
PayeeName: str
AuditScoreID: int
TranScoreStatus: str
TranScoreWeight: int
LoginScoreID: int
LoginScoreStatus: str
LoginScoreWeight: int
GroupID: int
GroupDesc: str
ToAccountNumberInternal: str
ToProductName: str
ToProductTypeName: str
HasCaseNotes: bool
ScoreAuditID: int
UserRoleID: int
RecipientCount: int
SubsidiaryID: int
GTBatchID: int
RecipientName: str
IntermediaryBankName: str
BeneficiaryBankName: str
MessageToBeneficiary: str
TemplateName: str
TemplateDescription: str
RecipientAccountNumber: str
RecipientAccountType: str
Principal: float
Interest: float
UsdEquivalentAmount: float
RecipientIdentificationNumber: str
IsSameDayAch: bool
CompanyEntryDescription: str
PurposeOfWire: str
AchClassCode: str
HasWageGarnishmentPayments: bool
ReplacesTransactionID: int
ReplacedByTransactionID: int
IsReversed: bool
ReversedGTID: int
IsReversible: bool
ToProductID: int
ToHydraProductTypeCode: str
ToHydraProductCode: str
ToHostProductTypeCode: str
ToHostProductCode: str
IsAchIat: bool
FileName: str
OobAuthRequired: bool
OobAuthProvided: bool
RecurringTransactionID: int
TransactionAmount: str
Description: str
ToHostAccountID: int
ToAccountNumberExternal: str
GtFlavorID: int
class q2_sdk.hq.db.generated_transactions.GeneratedLoanTransaction(element, row_class=None, rename_fields=None)[source]

Bases: TableRow

TransactionID: int
CustomerID: int
CustomerName: str
UserID: int
GroupID: int
GroupDesc: str
FirstName: str
LastName: str
CreateDate: str
TransactionStatusID: int
TransactionStatus: str
TransactionTypeID: int
TransactionType: str
ProcessDate: str
ProcessedDate: str
OriginatingAccountID: int
OriginatingAccountNumberInternal: str
OriginatingAccountNumberExternal: str
OriginatingAccountCIFInternal: str
OriginatingAccountCIFExternal: str
OriginatingAccountBranchID: int
TransactionAmount: float
AuthorizedUserID: int
AuthorizedDate: str
RecurringTransactionID: int
RecurringMaster: int
Description: str
TargetDescription: str
ToAccountID: int
TargetAccountNumberInternal: str
TargetAccountNumberExternal: str
TargetAccountCIFInternal: str
TargetAccountCIFExternal: str
TargetAccountBranchID: int
GTDataName: str
GTDataValue: str
Principal: float
Interest: float
class q2_sdk.hq.db.generated_transactions.GeneratedTransactions(logger, hq_credentials=None, ret_table_obj=None)[source]

Bases: DbObject

Programmatic access to the Q2 database. Not as flexible as a true ORM, but takes the guesswork out of database schemas and ensures safety in the transactions.

Parameters:
  • logger – Reference to calling request’s logger (self.logger in your extension)

  • hq_credentials (Optional[HqCredentials]) – HQ Connectivity Information (Defaults to settings file)

  • ret_table_obj (Optional[bool]) – Flag to return list of LXML elements if False or TableRow objects from DB calls if True (Defaults to settings file)

NAME = 'GeneratedTransactions'
REPRESENTATION_ROW_CLASS

alias of GeneratedTransactionsRow

add_arguments(parser)[source]

Hook for subclassed DbObjects to add custom arguments.

async get(customer_id, from_date, to_date, recurring_transaction_id=None, serialize_for_cli=False)[source]
Return type:

list[GeneratedTransactionsRow]

async get_by_id(transaction_id, serialize_for_cli=False)[source]
Return type:

list[GeneratedTransactionsRow]

async get_by_recurring_id(recurring_transaction_id, serialize_for_cli=False)[source]
Return type:

list[GeneratedTransactionsRow]

async add_transaction_note(transaction_id, admin_login_name, note, note_date=None)[source]

Adds a note to transaction

Parameters:
  • transaction_id – The id of the transaction the note is added to

  • admin_login_name – The CSR login name who is adding the note

  • note – the note contents

  • note_date (Optional[str]) – Datetime in the form of YYYY-MM-DD HH:MM:SS. If not provided, a “now” timestamp will be used

async get_by_create_date_range(start_date, end_date, page_number=1, page_size=200, transaction_status_filter=None)[source]

Get external transactions by create date range and supports pagination

Parameters:
  • start_date (datetime) – The start date of the date range, as a datetime object

  • end_date (datetime) – The end date of the date range, as a datetime object

  • page_number – the starting point for pagination. Defaults to 1

  • page_size – The number of transactions to get per page

  • transaction_status_filter (Optional[TransactionStatus]) – an optional filter to get transactions that are in a specific status

Return type:

list[ExternalGeneratedTransfer]

Returns:

A list of transactions that fit the provided parameters

async get_by_process_date_range(start_date, end_date, page_number=1, page_size=200, transaction_status_filter=None)[source]

Get external transactions by process date range and supports pagination

Parameters:
  • start_date (datetime) – The start date of the date range, as a datetime object

  • end_date (datetime) – The end date of the date range, as a datetime object

  • page_number – the starting point for pagination. Defaults to 1

  • page_size – The number of transactions to get per page

  • transaction_status_filter (Optional[TransactionStatus]) – an optional filter to get transactions that are in a specific status

Return type:

list[ExternalGeneratedTransfer]

Returns:

A list of transactions that fit the provided parameters

async get_loan_transactions_by_date_range(start_date, end_date, date_column, page_number=1, page_size=200, transaction_status_filter=None, filter_on_gt_data_name=None)[source]

Get generated transactions to hydra product type L by date range and supports pagination

Parameters:
  • start_date (datetime) – The start date of the date range, as a datetime object

  • end_date (datetime) – The end date of the date range, as a datetime object

  • date_column (DateColumn) – The date column to filter the date on

  • page_number – the starting point for pagination. Defaults to 1

  • page_size – The number of transactions to get per page

  • transaction_status_filter (Optional[TransactionStatus]) – an optional filter to get transactions that are in a specific status

  • filter_on_gt_data_name (Optional[str]) – an optional filter to only get transactions with specific gt data attached

Return type:

list[GeneratedLoanTransaction]

Returns:

A list of transactions that fit the provided parameters

async get_transactions_by_date_range_with_gt_data(start_date, end_date, date_column, page_number=1, page_size=200, transaction_status_filter=None, filter_on_gt_data_name=None, customer_id=None)[source]

Get generated transactions with gt data by date range and supports pagination

Parameters:
  • start_date (datetime) – The start date of the date range, as a datetime object

  • end_date (datetime) – The end date of the date range, as a datetime object

  • date_column (DateColumn) – The date column to filter the date on

  • page_number – the starting point for pagination. Defaults to 1

  • page_size – The number of transactions to get per page

  • transaction_status_filter (Optional[TransactionStatus]) – an optional filter to get transactions that are in a specific status

  • filter_on_gt_data_name (Optional[str]) – an optional filter to only get transactions with specific gt data attached

  • customer_id (Optional[int]) – If provided, will filter the results by Q2_Customer.CustomerID

Return type:

list[GeneratedLoanTransaction]

Returns:

A list of transactions that fit the provided parameters

async get_pending_transactions(page_number=1, page_size=200, transaction_type_ids_to_omit=None)[source]

Get pending transactions. Pending transactions include the following statuses: PendingProcessing, Authorized, Drafted, Suspect

Param:

page_number: the starting point for pagination. Defaults to 1

Param:

page_size: The number of transactions to get per page. Defaults to 200

Param:

transaction_type_ids_to_omit: The transaction types to omit from the search

Return type:

list[GeneratedTransactionsPending]