Two Examples of Writing Deposits
Instructions
Note: Deposit inserts are done only to the DepositLine table. TheDeposit table is a header table and cannot be inserted into without cached DepositLines transactions.
TroubleShooting Note
If you enconter the error as below:
[QODBC] error : 3180 – There was an error when saving a deposit line. Quickbook error message : The Payment has been changed. (#10053).
Switch your company file to Single User Mode. This is a "confirmed by Intuit" bug in QuickBooks 2004 through to 2006 and only occurs when you try to do a deposit with the company file in multi-user mode.
Below are two examples.
DEPOSIT FROM RECEIVE PAYMENTS MADE TO UNDEPOSITED FUNDS
Locate the payment TxnID
The first step is to locate the payment TxnID made to undeposited funds. To do this you run the following query in VB Demo:
SELECT TxnID, CustomerRefFullName, RefNumber, Amount FROM ReceivePaymentToDeposit
Note: VB DEMO is to be used for testing of QODBC SQL queries only and is not a development tool.
Confirm the Exact Name of the Bank Account
The second step is toconfirm the exact name of the Bank Account you want to deposit the payment into. To do this you run the following query in VB Demo:
SELECT ListID, Name FROM Account where Name = 'ABC Bank'
Receive Payment made to Undeposited Funds
Now you're ready to receive the payment made to undeposited funds using the TxnID and Bank Account Name found above. To do this you run the following query in VB Demo:
INSERT INTO DepositLine (DepositLinePaymentTxnID, DepositToAccountRefFullName,TxnDate,FQSaveToCache)
Values ('EDB-1197676347','ABC Bank',{d'2007-12-15'},0)
If you matched the details correctly you will receive the "Query Executed. No results returned" OK message!
DEPOSIT MADE DIRECTLY FROM THE DEPOSIT WINDOW
Query in QODBC
INSERT INTO DepositLine (DepositLineAccountRefFullName,DepositLineAmount,DepositLineCheckNumber,
DepositLineEntityRefFullName,DepositLineMemo,DepositLinePaymentMethodRefFullName,
DepositToAccountRefFullName,Memo,TxnDate,FQSaveToCache)
Values ('Interest Income',2000,'PANDA4567','2V:Panda Industries','Panda
memo','Check','BankNorth','Deposit',{d'2005-02-17'},0)
Table Schema Rules for DepositLine
Note: Use the columns stored procedure in VB Demo to get the EXACT table schema rules for the QuickBooks Company file you have open. The last few columns have Queryable, Updateable, Insertable, Required_On_Insert ie:
sp_columns DepositLine
FQSaveToCache
Multi-line inserts require a series of SQL statements to complete a single deposit. The key to this process is the field named "FQSaveToCache". This field is not part of the table, but is used as a flag to the QODBC driver to cache the inserts until your ready to commit all the inserts. The value of "FQSaveToCache" is set to 1 or TRUE for the insert sql statements for the first lines in the deposit, and then it is set to 0 or FALSE for the final sql statement, the last line of your multi-line deposit.
The 0 or False "FQSaveToCache" value tells QODBC to then write all the SQL inserts as multiple lines for the one deposit (header row record).
DEPOSIT CASH FROM AN EXTERNAL POS SYSTEM
Locate List IDs
To deposit cash you need to locate the List IDs for your posting. For example:
3C0000-1106175506 is GL Bank Account List ID
3E0000-1130003331 is AR Account List ID
Insert Statement
INSERT INTO "DepositLine" ("TxnDate", "DepositToAccountRefListID", "Memo", "DepositLineAccountRefListID", "DepositLineAmount") VALUES ({d'2005-10-27'}, '3C0000-1106175506', 'POS Cash Deposit', '3E0000-1130003331', 5.50)
Note: Never use DepositTotal, always use DepositLineAmount.
Keywords : accountlistid, accountname missing stored procedure, Recive