Automated Fix & Pricing (`OrderAirlock`): Starter$249/mo($2,490/yrannual, 500 POs/mo) · Distributor/FDE Pro$499/mo($4,990/yrannual, 2,500 POs/mo) — strips PDF control bytes, escapes XML/CSV delimiters, and enforces QBXML field lengths before QuickBooks Enterprise import.
Direct Root Cause & Fix: QuickBooks Desktop Enterprise (QBXMLRP2 / Web Connector) throws HRESULT 0x80040400 (QuickBooks found an error when parsing the provided XML text stream) on SalesOrderAddRq whenever contractor PO fields contain unescaped & (B&G Pump), inch quotes (3/4"), UTF-8 fraction ligatures (¾), or PONumber > 25 characters.
Exact Field Constraints That Trigger 0x80040400
- `PONumber` > 25 characters or `Customer` `FullName` > 41 characters per hierarchy level violates strict QBXML
STRTYPEmax-length schemas (0x80040400parser rejection before QuickBooks even inspects business logic). - PDF Ligatures & Formula Prefixes: Copy-pasted PDF streams often embed
0x00–0x1Fbytes, UTF-8 glyphs, or leading=,+,-characters.
Deterministic Fix
Sanitize descriptions, neutralize formula prefixes, and enforce QuickBooks PONumber and Item field bounds prior to batch import.