Triggering Syncs
These are the notes for GoZync 3. Docs for the latest version of GoZync--GoZync 4--can be found here. GoZync 4 is a free upgrade and is highly recommended (hint: it's faster).
What makes a record eligible to sync?
Ultimately, you can control syncs with scripts, but what GoZync does out of the box is either sync a single record when you pass its ID to the script "Zync It - This Record ( RecordID )" in your mobile file, or syncs "changed records" in the whole table/file when you call the other "Zync It..." scripts.
So what's considered a changed record? Any parent record where the field gz_Send is set to 1. (That's one of the fields you pasted into your solution during integration. You'll see that the auto-enter definition of that field takes care of any instances where that parent record is modified.
But what if you only modify a child record, such as change a line item on an invoice?
In that case you need to add a script trigger which also modifies the parent record. The easiest way to do this is to add a layout-level script trigger that runs OnRecordCommit. Have this trigger call a script that sets the field gz_ModTimeStamp in the parent record (the invoice in this case) to 1. Then add a second line to your script: call the Exit Script step with a script result of 1.
That's it. In this way, any edits you make to the invoice line items on this record will mark the parent invoice record as modified.