Skip to main content

500 Error on Sync

A 500 error usually means that your Request is not formed correctly.  If you look at the error it will look something like this.

Server returned status code: 500, in script: _Send FMData To QBO ( {Entity , FmId ) $method: POST, $url: https://key_XXXXXXXXXXXXXXXXXp:x@proxy.fmqbo.com/qbo/invoice?minorversion=6, $query: {"minorversion": 6}, $headers: {"Accept": "application/json", "Content-Type": "application/json"}, $apiKey: key_XXXXXXXXXXXXXXXX, $request: ?, response: {"name":"GeneralError","message":"Unexpected token ?","code":500,"className":"general-error","data":{},"errors":{}}, fm id: AD3S1DEB-C32A-449C-93AA-893SBB33E9, qbo_id: 123

Notice the '$request : ?'

That's your clue that request is not well formed.  This is almost always due to some kind of bad character in some field that you are trying to send. You can find out what field is causing the problem by stepping through the XXXX Map: Send script.  Watch the JSON variable as you step through. It will change to "?" when it hits the value that is causing the problem.  

You can remove the field from the sync if it isn't necessary.  Or you can look for bad characters in that field, and do some kind of substitute or other kind of cleanup or filtering on that field before sending it.

We've noticed that QBO does not like curly quotes in Line item descriptions.