Creating an invoice using SData

Hello. We are trying to create a bridge between our custom rental management system and Sage 300. The goal is to push data from our system to Sage using SData to create invoices. Based on what we have read on Stephen Smith's blog and found on Sage Guru, were are posting to the following tables in this order:

ARIBC AR0031 Invoice batches
ARIBH AR0032 Invoices
ARIBD AR0033 Invoice Details
ARIBDO AR0401 Invoice Detail Optional Fields
ARIBS AR0034 Invoice Payment Schedules
ARIBT AR0035 Invoice Detail Comments
ARIBHO AR0402 Invoice Optional Fields

Before we do this, we create the necessary records for the customers, items and salespeople, if they do not already exist. 

We are running into two problems, though. When we try to create the invoice at ARIBH / AR0032, we encounter this 500 error:

"The server encountered an internal error () that prevented it from fulfilling this request."

At ARIBD, we get this error:

Internal error. RecordGenerate() - ARIBD requires explicit composition to ARIBC.

So, I have two questions at this point:

1. What should the XML payload posted to SData look like for ARIBH? No matter what I try, I still get the same error.

2. I am already creating a record for ARIBC in the first step. What would cause the explicit composition problem? 

Sample payload for ARIBH:

<entry>
<sdata:payload>
<arInvoicesWrapper>
<CNTBTCH>1</CNTBTCH>
<CNTITEM>1</CNTITEM>
<IDCUST>1520</IDCUST>
<IDINVC>IN0000000000001</IDINVC>
<IDSHPT>HOME</IDSHPT>
<SPECINST xsi:nil="false"/>
<TEXTTRX>1</TEXTTRX>
<IDTRX>14</IDTRX>
<ORDRNBR>ORD000000000003</ORDRNBR>
<CUSTPO xsi:nil="false"/>
<INVCDESC>Customer's waiting</INVCDESC>
<SWPRTINVC>0</SWPRTINVC>
<INVCAPPLTO xsi:nil="false"/>
<IDACCTSET>USA</IDACCTSET>
<DATEINVC>2015-10-23</DATEINVC>
<DATEASOF>2015-10-23</DATEASOF>
<FISCYR>2015</FISCYR>
<FISCPER>04</FISCPER>
<CODECURN>USD</CODECURN>
<RATETYPE>SP</RATETYPE>
<SWMANRTE>0</SWMANRTE>
<EXCHRATEHC>1.0000000</EXCHRATEHC>
<ORIGRATEHC>1.0000000</ORIGRATEHC>
<TERMCODE>DUETBL</TERMCODE>
<SWTERMOVRD>1</SWTERMOVRD>
<DATEDUE>2015-10-25</DATEDUE>
<DATEDISC xsi:nil="true"/>
<PCTDISC>0.00000</PCTDISC>
<AMTDISCAVL>0.000</AMTDISCAVL>
<LASTLINE>2</LASTLINE>
<CODESLSP1>RW</CODESLSP1>
<CODESLSP2>SP</CODESLSP2>
<CODESLSP3 xsi:nil="false"/>
<CODESLSP4 xsi:nil="false"/>
<CODESLSP5 xsi:nil="false"/>
<PCTSASPLT1>50.00000</PCTSASPLT1>
<PCTSASPLT2>50.00000</PCTSASPLT2>
<PCTSASPLT3>0.00000</PCTSASPLT3>
<PCTSASPLT4>0.00000</PCTSASPLT4>
<PCTSASPLT5>0.00000</PCTSASPLT5>
<SWTAXBL>1</SWTAXBL>
<SWMANTX>1</SWMANTX>
<CODETAXGRP>USDTAX</CODETAXGRP>
<CODETAX1>STATE</CODETAX1>
<CODETAX2>COUNTY</CODETAX2>
<CODETAX3 xsi:nil="false"/>
<CODETAX4 xsi:nil="false"/>
<CODETAX5 xsi:nil="false"/>
<TAXSTTS1>1</TAXSTTS1>
<TAXSTTS2>1</TAXSTTS2>
<TAXSTTS3>0</TAXSTTS3>
<TAXSTTS4>0</TAXSTTS4>
<TAXSTTS5>0</TAXSTTS5>
<AMTPAYMTOT>1</AMTPAYMTOT>
<IDSTDINVC xsi:nil="false"/>
<DATEPRCS xsi:nil="true"/>
<IDPPD xsi:nil="false"/>
<IDBILL xsi:nil="false"/>
<SHPTOLOC>Home Office</SHPTOLOC>
<SHPTOSTE1>4730A 112th Street</SHPTOSTE1>
<SHPTOSTE2 xsi:nil="false"/>
<SHPTOSTE3 xsi:nil="false"/>
<SHPTOSTE4 xsi:nil="false"/>
<SHPTOCITY>Richmond</SHPTOCITY>
<SHPTOSTTE>VA</SHPTOSTTE>
<SHPTOPOST>23503</SHPTOPOST>
<SHPTOCTRY>USA</SHPTOCTRY>
<SHPTOCTAC>Mr. Kershaw</SHPTOCTAC>
<SHPTOPHON>8045553372</SHPTOPHON>
<SHPTOFAX xsi:nil="false"/>
<DATERATE>2015-10-23</DATERATE>
<SWPROCPPD>0</SWPROCPPD>
<CUROPER>1</CUROPER>
<DRILLAPP>OE</DRILLAPP>
<DRILLTYPE>1</DRILLTYPE>
<DRILLDWNLK>36</DRILLDWNLK>
<SHPVIACODE>CCT</SHPVIACODE>
<SHPVIADESC>Cross-Country Trucking Lines</SHPVIADESC>
<SWJOB>0</SWJOB>
<ERRBATCH>0</ERRBATCH>
<ERRENTRY>0</ERRENTRY>
<EMAIL xsi:nil="false"/>
<CTACPHONE xsi:nil="false"/>
<CTACFAX xsi:nil="false"/>
<CTACEMAIL xsi:nil="false"/>
<AMTDSBNTAX>324.780</AMTDSBNTAX>
<AMTDSCBASE>324.780</AMTDSCBASE>
<INVCTYPE>2</INVCTYPE>
<SWRTGINVC>0</SWRTGINVC>
<RTGAPPLYTO xsi:nil="false"/>
<SWRTG>0</SWRTG>
<RTGAMT>0.000</RTGAMT>
<RTGPERCENT>0.00000</RTGPERCENT>
<RTGDAYS>0</RTGDAYS>
<RTGDATEDUE xsi:nil="true"/>
<RTGTERMS xsi:nil="false"/>
<SWRTGDDTOV>0</SWRTGDDTOV>
<SWRTGAMTOV>0</SWRTGAMTOV>
<SWRTGRATE>0</SWRTGRATE>
<VALUES>9</VALUES>
<SRCEAPPL>OE</SRCEAPPL>
<ARVERSION>60A</ARVERSION>
<TAXVERSION>1</TAXVERSION>
<SWTXRTGRPT>0</SWTXRTGRPT>
<CODECURNRC>USD</CODECURNRC>
<SWTXCTLRC>1</SWTXCTLRC>
<RATERC>1.0000000</RATERC>
<RATETYPERC>SP</RATETYPERC>
<RATEDATERC>2015-10-23</RATEDATERC>
<RATEOPRC>1</RATEOPRC>
<SWRATERC>0</SWRATERC>
<RTGAMTHC>0.000</RTGAMTHC>
<AMTDISCHC>0.000</AMTDISCHC>
<DISTNETHC>324.780</DISTNETHC>
<AMTPPDHC>0.000</AMTPPDHC>
<SWPRTLBL>0</SWPRTLBL>
<IDSHIPNBR>SH00000000000000000001</IDSHIPNBR>
<SWOECOST>1</SWOECOST>
<ENTEREDBY>ADMIN</ENTEREDBY>
<DATEBUS>2015-10-23</DATEBUS>
</arInvoicesWrapper>
</sdata:payload>
</entry>

Sample payload for ARIBD: 

<entry>
<sdata:payload>
<arInvoiceItemFinder>
<CNTBTCH>1</CNTBTCH>
<CNTITEM>1</CNTITEM>
<CNTLINE>20</CNTLINE>
<IDITEM xsi:nil="false"/>
<IDDIST xsi:nil="false"/>
<TEXTDESC xsi:nil="false"/>
<UNITMEAS xsi:nil="false"/>
<QTYINVC>0.00000</QTYINVC>
<AMTCOST>0.000000</AMTCOST>
<AMTPRIC>0.000000</AMTPRIC>
<TAXSTTS1>1</TAXSTTS1>
<TAXSTTS2>1</TAXSTTS2>
<TAXSTTS3>0</TAXSTTS3>
<TAXSTTS4>0</TAXSTTS4>
<TAXSTTS5>0</TAXSTTS5>
<SWTAXINCL1>0</SWTAXINCL1>
<SWTAXINCL2>0</SWTAXINCL2>
<SWTAXINCL3>0</SWTAXINCL3>
<SWTAXINCL4>0</SWTAXINCL4>
<SWTAXINCL5>0</SWTAXINCL5>
<RATETAX1>6.25000</RATETAX1>
<RATETAX2>2.00000</RATETAX2>
<RATETAX3>0.00000</RATETAX3>
<RATETAX4>0.00000</RATETAX4>
<RATETAX5>0.00000</RATETAX5>
<IDACCTREV>4010-100-40</IDACCTREV>
<IDACCTINV>1310</IDACCTINV>
<IDACCTCOGS>5010-100-40</IDACCTCOGS>
<CONTRACT xsi:nil="false"/>
<PROJECT xsi:nil="false"/>
<CATEGORY xsi:nil="false"/>
<RESOURCE xsi:nil="false"/>
<TRANSNBR>0</TRANSNBR>
<COSTCLASS>0</COSTCLASS>
<BILLDATE xsi:nil="true"/>
<SWIBT>0</SWIBT>
<SWDISCABL>1</SWDISCABL>
<OCNTLINE>0</OCNTLINE>
<RTGAMT>0.000</RTGAMT>
<RTGPERCENT>0.00000</RTGPERCENT>
<RTGDAYS>0</RTGDAYS>
<RTGDATEDUE xsi:nil="true"/>
<SWRTGDDTOV>0</SWRTGDDTOV>
<SWRTGAMTOV>0</SWRTGAMTOV>
<RTGDISTTC>0.000</RTGDISTTC>
<RTGCOGSTC>0.000</RTGCOGSTC>
<RTGALTBTC>0.000</RTGALTBTC>
<RTGINVDIST>0.000</RTGINVDIST>
<RTGINVCOGS>0.000</RTGINVCOGS>
<RTGINVALTB>0.000</RTGINVALTB>
<RTGAMTHC>0.000</RTGAMTHC>
<AMTCOGSHC>23.540</AMTCOGSHC>
<AMTCOSTHC>7.848150</AMTCOSTHC>
<AMTPRICHC>0.000000</AMTPRICHC>
</arInvoiceItemFinder>
</sdata:payload>
</entry>