type="BANK", commodity=cad) opening_acct = Account(parent=root_acct, name="Opening Balance", type="EQUITY", commodity=cad) num1 = Decimal("4") num2 = Decimal("100") num3 = Decimal("15") # create transaction with core objects in one step trans1 = Transaction(currency=cad, description="Groceries", splits=[ Split(value=num1, account=expenses_acct), Split(value=-num1, account=savings_acct), ]) # create transaction with core object in multiple steps trans2 = Transaction(currency=cad, description="Opening Savings Balance") split3 = Split(value=num2, account=savings_acct, transaction=trans2) split4 = Split(value=-num2, account=opening_acct, transaction=trans2) # create transaction with factory function trans3 = Transaction.single_transaction(None, None, "Pharmacy", num3, savings_acct, expenses_acct) session.save()