Knowledgebase
[QODBC Online] QODBC Online: Resetting/Clearing ProjectRefListID on BillExpenseLine
Posted by William - QODBC Support on 29 September 2026 08:36 AM

[QODBC Online] QODBC Online: Resetting/Clearing ProjectRefListID on BillExpenseLine

Problem Description:

In earlier versions of QODBC Online, attempting to update or clear the ExpenseLineCustomerRefListID (also known as ExpenseLineProjectRefListID) field on the BillExpenseLine table would fail - even though the SDK API permits QuickBooks Online to accept such updates. This was tracked as internal bug B01772.

Affected products: QODBC Online (prior to B01772 fix), QuickBooks Online
Expected outcome: You can reset or clear the Project reference on any BillExpenseLine record via an UPDATE query, after installing the beta build that resolves Bug B01772.

Symptoms:

  • An UPDATE on the BillExpenseLine table fails silently or returns no error when attempting to change the ExpenseLineCustomerRefListID / ExpenseLineProjectRefListID field.
  • The existing Project reference persists in QuickBooks Online despite the UPDATE query reporting success.
  • The issue is specific to QODBC Online - the same query works correctly against QODBC Desktop (QuickBooks Desktop).

Cause:

Bug B01772 in QODBC Online prevented the driver from properly resetting or updating the Project/Customer reference on BillExpenseLine child records. This was a driver-level limitation where the ODBC layer did not pass the project reference update to the QuickBooks Online SDK correctly. A fix was developed and released as part of beta build B01772-beta-2025-02-11. The issue has been fixed and released in QODBC Online version 360.

Resolution:

  1. Install the QODBC Online beta build that fixes Bug B01772.
    Download from: https://qodbc.com/download/beta/Fixes/B01772-beta-2025-02-11/B01772-beta-2025-02-11.exe
    Before installing, back up SocketReceiver.exe from C:\Program Files (x86)\QODBC Driver for QuickBooks Online\QBO\. Close all applications using QODBC Online and kill SocketReceiver.exe from Task Manager before overwriting.
  2. Use an UPDATE query to reset or change the Project reference on BillExpenseLine. After installing the fix, use the following SQL pattern:
    UPDATE BillExpenseLine
    SET ExpenseLineCustomerRefListID = '', ExpenseLineProjectRefListID = ''
    WHERE TxnID = '<transaction-id>' AND ExpenseLineTxnLineID = '<line-id>' AND ExpenseLineSeqNo = '<seq-no>'

    To set a new Project reference instead of clearing it, replace the empty string with the target ListID:
    UPDATE BillExpenseLine
    SET ExpenseLineCustomerRefListID = '<new-list-id>', ExpenseLineProjectRefListID = '<new-list-id>'
    WHERE TxnID = '<transaction-id>' AND ExpenseLineTxnLineID = '<line-id>' AND ExpenseLineSeqNo = '<seq-no>'

Example Scenarios:

Scenario 1 - Clearing a project from a bill expense line:

A customer needed to remove the project assignment from an existing BillExpenseLine record. After installing the B01772 fix, they ran:

UPDATE BillExpenseLine
SET ExpenseLineProjectRefListID = ''
WHERE TxnID = '343' AND ExpenseLineTxnLineID = '1' AND ExpenseLineSeqNo = '1'

The project reference was successfully cleared from the QuickBooks Online bill.

Scenario 2 - Reassigning a project on an expense line:

A company needed to move an expense line from one project to another. After installing the B01772 fix:

UPDATE BillExpenseLine
SET ExpenseLineCustomerRefListID = '8A', ExpenseLineProjectRefListID = '8A'
WHERE TxnID = '343' AND ExpenseLineTxnLineID = '1' AND ExpenseLineSeqNo = '1'

The expense line was reassigned to the new project in QuickBooks Online.

Additional Notes:

  • This bug only affected QODBC Online - QODBC Desktop had no such limitation since the QuickBooks Desktop SDK natively supports updating the Project reference on expense lines.
  • Bug B01772 is resolved in QODBC Online build 24.0.0.358+ (and later). If you are running a newer release, this issue should not occur.
  • The Project reference uses the same ListID field as the Customer reference on BillExpenseLine - projects in QuickBooks Online use the Customer table with <isProject> = true. This is why both ExpenseLineCustomerRefListID and ExpenseLineProjectRefListID may appear in queries.
  • Always test beta builds on sandbox data first. The B01772 fix involves replacing a core binary (SocketReceiver.exe) - ensure you have backups and verify functionality before deploying to production.

QODBC Online: FQSaveToCache Field Restrictions for Parent and Child Tables

Keywords:

B01772 BillExpenseLine ProjectRefListID CustomerRefListID QODBC Online Reset Project Update Expense Line QuickBooks Online SocketReceiver.exe Beta Fix
(0 vote(s))
Helpful
Not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please complete the captcha below (we use this to prevent automated submissions).