Makes cintas import work
This commit is contained in:
4
dev-resources/test-cintas/Test.txt
Normal file
4
dev-resources/test-cintas/Test.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Test
|
||||||
|
This is a test file to test the sftp
|
||||||
|
Thanks
|
||||||
|
OPentext
|
||||||
4
dev-resources/test-cintas/archive/Test.txt
Normal file
4
dev-resources/test-cintas/archive/Test.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Test
|
||||||
|
This is a test file to test the sftp
|
||||||
|
Thanks
|
||||||
|
OPentext
|
||||||
167
dev-resources/test-cintas/archive/o.zcic.230310093903
Normal file
167
dev-resources/test-cintas/archive/o.zcic.230310093903
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd">
|
||||||
|
<cXML version="1.0" payloadID="10032023 09390200.000" timestamp="2023-03-10T09:39:02-00:00" xml:lang="en-US">
|
||||||
|
<Header>
|
||||||
|
<From>
|
||||||
|
<Credential domain="DUNS">
|
||||||
|
<Identity>056481716-T</Identity>
|
||||||
|
</Credential>
|
||||||
|
</From>
|
||||||
|
<To>
|
||||||
|
<Credential domain="DUNS">
|
||||||
|
<Identity>NTGCORP-T</Identity>
|
||||||
|
</Credential>
|
||||||
|
</To>
|
||||||
|
<Sender>
|
||||||
|
<Credential domain="DUNS">
|
||||||
|
<Identity>056481716-T</Identity>
|
||||||
|
<SharedSecret>NtG$c7S</SharedSecret>
|
||||||
|
</Credential>
|
||||||
|
<UserAgent>Cintas</UserAgent>
|
||||||
|
</Sender>
|
||||||
|
</Header>
|
||||||
|
<Request deploymentMode="production">
|
||||||
|
<InvoiceDetailRequest>
|
||||||
|
<InvoiceDetailRequestHeader invoiceID="1500000592" operation="new" purpose="standard" invoiceDate="
|
||||||
|
2023-03-09T09:39:02-00:00">
|
||||||
|
<InvoiceDetailHeaderIndicator/>
|
||||||
|
<InvoiceDetailLineIndicator isAccountingInLine="yes"/>
|
||||||
|
<InvoicePartner>
|
||||||
|
<Contact role="remitTo">
|
||||||
|
<Name xml:lang="CINTAS CORPORATION #0464"/>
|
||||||
|
<PostalAddress>
|
||||||
|
<Street>PO BOX 29059</Street>
|
||||||
|
<City>Phoenix</City>
|
||||||
|
<State>AZ</State>
|
||||||
|
<PostalCode>850389059</PostalCode>
|
||||||
|
<Country isoCountryCode="US">United States</Country>
|
||||||
|
</PostalAddress>
|
||||||
|
</Contact>
|
||||||
|
</InvoicePartner>
|
||||||
|
<InvoiceDetailShipping>
|
||||||
|
<Contact addressID="3007" role="shipTo">
|
||||||
|
<Name xml:lang="en-US">NICK THE GREEK</Name>
|
||||||
|
<PostalAddress>
|
||||||
|
<Street>2034 BROADWAY ST</Street>
|
||||||
|
<City>REDWOOD CITY</City>
|
||||||
|
<State>CA</State>
|
||||||
|
<PostalCode>940631802</PostalCode>
|
||||||
|
<Country isoCountryCode="US">United States</Country>
|
||||||
|
</PostalAddress>
|
||||||
|
</Contact>
|
||||||
|
</InvoiceDetailShipping>
|
||||||
|
</InvoiceDetailRequestHeader>
|
||||||
|
<InvoiceDetailOrder>
|
||||||
|
<InvoiceDetailOrderInfo>
|
||||||
|
<OrderReference>
|
||||||
|
<DocumentReference payloadID="1500000592"/>
|
||||||
|
</OrderReference>
|
||||||
|
</InvoiceDetailOrderInfo>
|
||||||
|
<InvoiceDetailServiceItem quantity="1.000" invoiceLineNumber="000020">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X106</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">SERVICE CHARGE</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="ANC" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">2.56</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">2.56</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
<InvoiceDetailServiceItem quantity="4.000" invoiceLineNumber="000040">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X1919</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">2X3 WELLNESS AF MAT ONYX</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="FACSVCS" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">7.168</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">1.792</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
<InvoiceDetailServiceItem quantity="100.000" invoiceLineNumber="000050">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X2700</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">TERRY TOWEL - WHITE</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="FACSVCS" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">10.2</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">0.102</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
<InvoiceDetailServiceItem quantity="75.000" invoiceLineNumber="000060">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X2861</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">BIB APRON-RED</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="FACSVCS" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">19.95</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">0.266</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
</InvoiceDetailOrder>
|
||||||
|
<InvoiceDetailSummary>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">39.88</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<Tax>
|
||||||
|
<Money currency="USD">0.00</Money>
|
||||||
|
<Description xml:lang="en-US">0.00</Description>
|
||||||
|
<TaxDetail purpose="tax" category="sales">
|
||||||
|
<TaxAmount>
|
||||||
|
<Money currency="USD">0.00</Money>
|
||||||
|
</TaxAmount>
|
||||||
|
<Description xml:lang="en-US">TAX ON ITEMS</Description>
|
||||||
|
</TaxDetail>
|
||||||
|
</Tax>
|
||||||
|
<GrossAmount>
|
||||||
|
<Money currency="USD">39.88</Money>
|
||||||
|
</GrossAmount>
|
||||||
|
<NetAmount>
|
||||||
|
<Money currency="USD">39.88</Money>
|
||||||
|
</NetAmount>
|
||||||
|
<DueAmount>
|
||||||
|
<Money currency="USD">39.88</Money>
|
||||||
|
</DueAmount>
|
||||||
|
</InvoiceDetailSummary>
|
||||||
|
</InvoiceDetailRequest>
|
||||||
|
</Request>
|
||||||
|
</cXML>
|
||||||
1
dev-resources/test-cintas/archive/o.zcic.230310093903aa
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230310093903aa
Normal file
File diff suppressed because one or more lines are too long
186
dev-resources/test-cintas/archive/o.zcic.230310093903ab
Normal file
186
dev-resources/test-cintas/archive/o.zcic.230310093903ab
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd">
|
||||||
|
<cXML version="1.0" payloadID="10032023 09390200.000" timestamp="2023-03-10T09:39:02-00:00" xml:lang="en-US">
|
||||||
|
<Header>
|
||||||
|
<From>
|
||||||
|
<Credential domain="DUNS">
|
||||||
|
<Identity>056481716-T</Identity>
|
||||||
|
</Credential>
|
||||||
|
</From>
|
||||||
|
<To>
|
||||||
|
<Credential domain="DUNS">
|
||||||
|
<Identity>NTGCORP-T</Identity>
|
||||||
|
</Credential>
|
||||||
|
</To>
|
||||||
|
<Sender>
|
||||||
|
<Credential domain="DUNS">
|
||||||
|
<Identity>056481716-T</Identity>
|
||||||
|
<SharedSecret>NtG$c7S</SharedSecret>
|
||||||
|
</Credential>
|
||||||
|
<UserAgent>Cintas</UserAgent>
|
||||||
|
</Sender>
|
||||||
|
</Header>
|
||||||
|
<Request deploymentMode="production">
|
||||||
|
<InvoiceDetailRequest>
|
||||||
|
<InvoiceDetailRequestHeader invoiceID="1500000593" operation="new" purpose="standard" invoiceDate="2023-03-09T09:39:02-00:00">
|
||||||
|
<InvoiceDetailHeaderIndicator/>
|
||||||
|
<InvoiceDetailLineIndicator isAccountingInLine="yes"/>
|
||||||
|
<InvoicePartner>
|
||||||
|
<Contact role="remitTo">
|
||||||
|
<Name xml:lang="CINTAS CORPORATION #0630"/>
|
||||||
|
<PostalAddress>
|
||||||
|
<Street>PO BOX 29059</Street>
|
||||||
|
<City>Phoenix</City>
|
||||||
|
<State>AZ</State>
|
||||||
|
<PostalCode>850389059</PostalCode>
|
||||||
|
<Country isoCountryCode="US">United States</Country>
|
||||||
|
</PostalAddress>
|
||||||
|
</Contact>
|
||||||
|
</InvoicePartner>
|
||||||
|
<InvoiceDetailShipping>
|
||||||
|
<Contact addressID="3005" role="shipTo">
|
||||||
|
<Name xml:lang="en-US">NICK THE GREEK</Name>
|
||||||
|
<PostalAddress>
|
||||||
|
<Street>125 BERNAL RD</Street>
|
||||||
|
<City>SAN JOSE</City>
|
||||||
|
<State>CA</State>
|
||||||
|
<PostalCode>951191397</PostalCode>
|
||||||
|
<Country isoCountryCode="US">United States</Country>
|
||||||
|
</PostalAddress>
|
||||||
|
</Contact>
|
||||||
|
</InvoiceDetailShipping>
|
||||||
|
</InvoiceDetailRequestHeader>
|
||||||
|
<InvoiceDetailOrder>
|
||||||
|
<InvoiceDetailOrderInfo>
|
||||||
|
<OrderReference>
|
||||||
|
<DocumentReference payloadID="1500000593"/>
|
||||||
|
</OrderReference>
|
||||||
|
</InvoiceDetailOrderInfo>
|
||||||
|
<InvoiceDetailServiceItem quantity="1.000" invoiceLineNumber="000020">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X106</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">SERVICE CHARGE</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="ANC" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">2.56</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">2.56</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
<InvoiceDetailServiceItem quantity="1.000" invoiceLineNumber="000030">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X1132</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">MINIMUM CHARGE</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="ANC" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">0.63</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">0.63</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
<InvoiceDetailServiceItem quantity="6.000" invoiceLineNumber="000040">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X1919</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">2X3 WELLNESS AF MAT ONYX</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="FACSVCS" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">10.752</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">1.792</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
<InvoiceDetailServiceItem quantity="50.000" invoiceLineNumber="000050">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X2700</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">TERRY TOWEL</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="FACSVCS" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">5.1</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">0.102</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
<InvoiceDetailServiceItem quantity="60.000" invoiceLineNumber="000060">
|
||||||
|
<InvoiceDetailServiceItemReference lineNumber="001">
|
||||||
|
<ItemID>
|
||||||
|
<SupplierPartID>X2861</SupplierPartID>
|
||||||
|
</ItemID>
|
||||||
|
<Description xml:lang="en-US">BIB APRON-RED</Description>
|
||||||
|
<Extrinsic name="CustomFields">
|
||||||
|
<IdReference identifier="FACSVCS" domain="CustomField">
|
||||||
|
<Description xml:lang="en">Product Category</Description>
|
||||||
|
</IdReference>
|
||||||
|
</Extrinsic>
|
||||||
|
</InvoiceDetailServiceItemReference>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">15.96</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<UnitOfMeasure>EA</UnitOfMeasure>
|
||||||
|
<UnitPrice>
|
||||||
|
<Money currency="USD">0.266</Money>
|
||||||
|
</UnitPrice>
|
||||||
|
</InvoiceDetailServiceItem>
|
||||||
|
</InvoiceDetailOrder>
|
||||||
|
<InvoiceDetailSummary>
|
||||||
|
<SubtotalAmount>
|
||||||
|
<Money currency="USD">35.00</Money>
|
||||||
|
</SubtotalAmount>
|
||||||
|
<Tax>
|
||||||
|
<Money currency="USD">0.00</Money>
|
||||||
|
<Description xml:lang="en-US">0.00</Description>
|
||||||
|
<TaxDetail purpose="tax" category="sales">
|
||||||
|
<TaxAmount>
|
||||||
|
<Money currency="USD">0.00</Money>
|
||||||
|
</TaxAmount>
|
||||||
|
<Description xml:lang="en-US">TAX ON ITEMS</Description>
|
||||||
|
</TaxDetail>
|
||||||
|
</Tax>
|
||||||
|
<GrossAmount>
|
||||||
|
<Money currency="USD">35.00</Money>
|
||||||
|
</GrossAmount>
|
||||||
|
<NetAmount>
|
||||||
|
<Money currency="USD">35.00</Money>
|
||||||
|
</NetAmount>
|
||||||
|
<DueAmount>
|
||||||
|
<Money currency="USD">35.00</Money>
|
||||||
|
</DueAmount>
|
||||||
|
</InvoiceDetailSummary>
|
||||||
|
</InvoiceDetailRequest>
|
||||||
|
</Request>
|
||||||
|
</cXML>
|
||||||
1
dev-resources/test-cintas/archive/o.zcic.230315102406
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230315102406
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd"><cXML version="1.0" payloadID="15032023 09240500.000" timestamp="2023-03-15T09:24:05-00:00" xml:lang="en-US"><Header><From><Credential domain="DUNS"><Identity>056481716-T</Identity></Credential></From><To><Credential domain="DUNS"><Identity>NTGCORP-T</Identity></Credential></To><Sender><Credential domain="DUNS"><Identity>056481716-T</Identity><SharedSecret>NtG$c7S</SharedSecret></Credential><UserAgent>Cintas</UserAgent></Sender></Header><Request deploymentMode="production"><InvoiceDetailRequest><InvoiceDetailRequestHeader invoiceID="9200208324" operation="new" purpose="creditMemo" invoiceDate="2023-03-09T09:24:05-00:00"><InvoiceDetailHeaderIndicator></InvoiceDetailHeaderIndicator><InvoiceDetailLineIndicator isAccountingInLine="yes"></InvoiceDetailLineIndicator><InvoicePartner><Contact role="remitTo"><Name xml:lang="CINTAS CORPORATION #0464"></Name><PostalAddress><Street>PO BOX 29059</Street><City>Phoenix</City><State>AZ</State><PostalCode>850389059</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoicePartner><InvoiceDetailShipping><Contact addressID="3007" role="shipTo"><Name xml:lang="en-US">NICK THE GREEK</Name><PostalAddress><Street>2034 BROADWAY ST</Street><City>REDWOOD CITY</City><State>CA</State><PostalCode>940631802</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoiceDetailShipping></InvoiceDetailRequestHeader><InvoiceDetailOrder><InvoiceDetailOrderInfo><OrderReference><DocumentReference payloadID="9200208324"></DocumentReference></OrderReference></InvoiceDetailOrderInfo><InvoiceDetailServiceItem quantity="-1.000" invoiceLineNumber="000020"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X106</SupplierPartID></ItemID><Description xml:lang="en-US">SERVICE CHARGE</Description><Extrinsic name="CustomFields"><IdReference identifier="ANC" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">2.56</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">2.56</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="-4.000" invoiceLineNumber="000040"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X1919</SupplierPartID></ItemID><Description xml:lang="en-US">2X3 WELLNESS AF MAT ONYX</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">7.168</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">1.792</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="-100.000" invoiceLineNumber="000050"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2700</SupplierPartID></ItemID><Description xml:lang="en-US">TERRY TOWEL - WHITE</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">10.2</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.102</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="-75.000" invoiceLineNumber="000060"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2861</SupplierPartID></ItemID><Description xml:lang="en-US">BIB APRON-RED</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">19.95</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.266</Money></UnitPrice></InvoiceDetailServiceItem></InvoiceDetailOrder><InvoiceDetailSummary><SubtotalAmount><Money currency="USD">-39.88</Money></SubtotalAmount><Tax><Money currency="USD">0.00</Money><Description xml:lang="en-US">0.00</Description><TaxDetail purpose="tax" category="sales"><TaxAmount><Money currency="USD">0.00</Money></TaxAmount><Description xml:lang="en-US">TAX ON ITEMS</Description></TaxDetail></Tax><GrossAmount><Money currency="USD">-39.88</Money></GrossAmount><NetAmount><Money currency="USD">-39.88</Money></NetAmount><DueAmount><Money currency="USD">-39.88</Money></DueAmount></InvoiceDetailSummary></InvoiceDetailRequest></Request></cXML>
|
||||||
1
dev-resources/test-cintas/archive/o.zcic.230315102406aa
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230315102406aa
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/archive/o.zcic.230315102406ab
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230315102406ab
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/archive/o.zcic.230315102406ac
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230315102406ac
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd"><cXML version="1.0" payloadID="15032023 09240500.000" timestamp="2023-03-15T09:24:05-00:00" xml:lang="en-US"><Header><From><Credential domain="DUNS"><Identity>056481716-T</Identity></Credential></From><To><Credential domain="DUNS"><Identity>NTGCORP-T</Identity></Credential></To><Sender><Credential domain="DUNS"><Identity>056481716-T</Identity><SharedSecret>NtG$c7S</SharedSecret></Credential><UserAgent>Cintas</UserAgent></Sender></Header><Request deploymentMode="production"><InvoiceDetailRequest><InvoiceDetailRequestHeader invoiceID="1500000601" operation="new" purpose="standard" invoiceDate="2023-03-15T09:24:05-00:00"><InvoiceDetailHeaderIndicator></InvoiceDetailHeaderIndicator><InvoiceDetailLineIndicator isAccountingInLine="yes"></InvoiceDetailLineIndicator><InvoicePartner><Contact role="remitTo"><Name xml:lang="CINTAS CORPORATION #0630"></Name><PostalAddress><Street>PO BOX 29059</Street><City>Phoenix</City><State>AZ</State><PostalCode>850389059</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoicePartner><InvoiceDetailShipping><Contact addressID="3005" role="shipTo"><Name xml:lang="en-US">NICK THE GREEK</Name><PostalAddress><Street>125 BERNAL RD</Street><City>SAN JOSE</City><State>CA</State><PostalCode>951191397</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoiceDetailShipping></InvoiceDetailRequestHeader><InvoiceDetailOrder><InvoiceDetailOrderInfo><OrderReference><DocumentReference payloadID="1500000601"></DocumentReference></OrderReference></InvoiceDetailOrderInfo><InvoiceDetailServiceItem quantity="1.000" invoiceLineNumber="000020"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X106</SupplierPartID></ItemID><Description xml:lang="en-US">SERVICE CHARGE</Description><Extrinsic name="CustomFields"><IdReference identifier="ANC" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">2.56</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">2.56</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="6.000" invoiceLineNumber="000040"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X1919</SupplierPartID></ItemID><Description xml:lang="en-US">2X3 WELLNESS AF MAT ONYX</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">10.752</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">1.792</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="60.000" invoiceLineNumber="000060"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2861</SupplierPartID></ItemID><Description xml:lang="en-US">BIB APRON-RED</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">15.96</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.266</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="3.000" invoiceLineNumber="000070"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X10223</SupplierPartID></ItemID><Description xml:lang="en-US">3X5 XTRAC MAT INGO</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">16.896</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">5.632</Money></UnitPrice></InvoiceDetailServiceItem></InvoiceDetailOrder><InvoiceDetailSummary><SubtotalAmount><Money currency="USD">46.17</Money></SubtotalAmount><Tax><Money currency="USD">0.00</Money><Description xml:lang="en-US">0.00</Description><TaxDetail purpose="tax" category="sales"><TaxAmount><Money currency="USD">0.00</Money></TaxAmount><Description xml:lang="en-US">TAX ON ITEMS</Description></TaxDetail></Tax><GrossAmount><Money currency="USD">46.17</Money></GrossAmount><NetAmount><Money currency="USD">46.17</Money></NetAmount><DueAmount><Money currency="USD">46.17</Money></DueAmount></InvoiceDetailSummary></InvoiceDetailRequest></Request></cXML>
|
||||||
1
dev-resources/test-cintas/archive/o.zcic.230327132403
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230327132403
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd"><cXML version="1.0" payloadID="27032023 12240200.000" timestamp="2023-03-27T12:24:02-00:00" xml:lang="en-US"><Header><From><Credential domain="DUNS"><Identity>056481716-T</Identity></Credential></From><To><Credential domain="DUNS"><Identity>NTGCORP-T</Identity></Credential></To><Sender><Credential domain="DUNS"><Identity>056481716-T</Identity><SharedSecret>NtG$c7S</SharedSecret></Credential><UserAgent>Cintas</UserAgent></Sender></Header><Request deploymentMode="production"><InvoiceDetailRequest><InvoiceDetailRequestHeader invoiceID="1500000604" operation="new" purpose="standard" invoiceDate="2023-03-16T12:24:02-00:00"><InvoiceDetailHeaderIndicator></InvoiceDetailHeaderIndicator><InvoiceDetailLineIndicator isAccountingInLine="yes"></InvoiceDetailLineIndicator><InvoicePartner><Contact role="remitTo"><Name xml:lang="CINTAS CORPORATION #0622"></Name><PostalAddress><Street>PO BOX 29059</Street><City>Phoenix</City><State>AZ</State><PostalCode>850389059</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoicePartner><InvoiceDetailShipping><Contact addressID="31025" role="shipTo"><Name xml:lang="en-US">NICK THE GREEK</Name><PostalAddress><Street>206 E ST</Street><City>DAVIS</City><State>CA</State><PostalCode>956164522</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoiceDetailShipping></InvoiceDetailRequestHeader><InvoiceDetailOrder><InvoiceDetailOrderInfo><OrderReference><DocumentReference payloadID="1500000604"></DocumentReference></OrderReference></InvoiceDetailOrderInfo><InvoiceDetailServiceItem quantity="1.000" invoiceLineNumber="000020"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X106</SupplierPartID></ItemID><Description xml:lang="en-US">SERVICE CHARGE</Description><Extrinsic name="CustomFields"><IdReference identifier="ANC" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">2.56</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">2.56</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="3.000" invoiceLineNumber="000040"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X10197</SupplierPartID></ItemID><Description xml:lang="en-US">4X6 TRAFFIC MAT</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">15.36</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">5.12</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="100.000" invoiceLineNumber="000050"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2700</SupplierPartID></ItemID><Description xml:lang="en-US">TERRY TOWEL - WHITE</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">10.2</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.102</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="50.000" invoiceLineNumber="000060"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2873</SupplierPartID></ItemID><Description xml:lang="en-US">BIB APRON-BLACK</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">10.25</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.205</Money></UnitPrice></InvoiceDetailServiceItem></InvoiceDetailOrder><InvoiceDetailSummary><SubtotalAmount><Money currency="USD">38.37</Money></SubtotalAmount><Tax><Money currency="USD">0.00</Money><Description xml:lang="en-US">0.00</Description><TaxDetail purpose="tax" category="sales"><TaxAmount><Money currency="USD">0.00</Money></TaxAmount><Description xml:lang="en-US">TAX ON ITEMS</Description></TaxDetail></Tax><GrossAmount><Money currency="USD">38.37</Money></GrossAmount><NetAmount><Money currency="USD">38.37</Money></NetAmount><DueAmount><Money currency="USD">38.37</Money></DueAmount></InvoiceDetailSummary></InvoiceDetailRequest></Request></cXML>
|
||||||
1
dev-resources/test-cintas/archive/o.zcic.230327132403aa
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230327132403aa
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/archive/o.zcic.230403203949
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230403203949
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/archive/o.zcic.230403222257
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230403222257
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/archive/o.zcic.230403222257ak
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230403222257ak
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/archive/o.zcic.230403222257at
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230403222257at
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/archive/o.zcic.230403225219ao
Normal file
1
dev-resources/test-cintas/archive/o.zcic.230403225219ao
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/o.zcic.230310093903
Normal file
1
dev-resources/test-cintas/o.zcic.230310093903
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd"><cXML version="1.0" payloadID="10032023 09390200.000" timestamp="2023-03-10T09:39:02-00:00" xml:lang="en-US"><Header><From><Credential domain="DUNS"><Identity>056481716-T</Identity></Credential></From><To><Credential domain="DUNS"><Identity>NTGCORP-T</Identity></Credential></To><Sender><Credential domain="DUNS"><Identity>056481716-T</Identity><SharedSecret>NtG$c7S</SharedSecret></Credential><UserAgent>Cintas</UserAgent></Sender></Header><Request deploymentMode="production"><InvoiceDetailRequest><InvoiceDetailRequestHeader invoiceID="1500000592" operation="new" purpose="standard" invoiceDate="2023-03-09T09:39:02-00:00"><InvoiceDetailHeaderIndicator></InvoiceDetailHeaderIndicator><InvoiceDetailLineIndicator isAccountingInLine="yes"></InvoiceDetailLineIndicator><InvoicePartner><Contact role="remitTo"><Name xml:lang="CINTAS CORPORATION #0464"></Name><PostalAddress><Street>PO BOX 29059</Street><City>Phoenix</City><State>AZ</State><PostalCode>850389059</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoicePartner><InvoiceDetailShipping><Contact addressID="3007" role="shipTo"><Name xml:lang="en-US">NICK THE GREEK</Name><PostalAddress><Street>2034 BROADWAY ST</Street><City>REDWOOD CITY</City><State>CA</State><PostalCode>940631802</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoiceDetailShipping></InvoiceDetailRequestHeader><InvoiceDetailOrder><InvoiceDetailOrderInfo><OrderReference><DocumentReference payloadID="1500000592"></DocumentReference></OrderReference></InvoiceDetailOrderInfo><InvoiceDetailServiceItem quantity="1.000" invoiceLineNumber="000020"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X106</SupplierPartID></ItemID><Description xml:lang="en-US">SERVICE CHARGE</Description><Extrinsic name="CustomFields"><IdReference identifier="ANC" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">2.56</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">2.56</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="4.000" invoiceLineNumber="000040"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X1919</SupplierPartID></ItemID><Description xml:lang="en-US">2X3 WELLNESS AF MAT ONYX</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">7.168</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">1.792</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="100.000" invoiceLineNumber="000050"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2700</SupplierPartID></ItemID><Description xml:lang="en-US">TERRY TOWEL - WHITE</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">10.2</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.102</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="75.000" invoiceLineNumber="000060"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2861</SupplierPartID></ItemID><Description xml:lang="en-US">BIB APRON-RED</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">19.95</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.266</Money></UnitPrice></InvoiceDetailServiceItem></InvoiceDetailOrder><InvoiceDetailSummary><SubtotalAmount><Money currency="USD">39.88</Money></SubtotalAmount><Tax><Money currency="USD">0.00</Money><Description xml:lang="en-US">0.00</Description><TaxDetail purpose="tax" category="sales"><TaxAmount><Money currency="USD">0.00</Money></TaxAmount><Description xml:lang="en-US">TAX ON ITEMS</Description></TaxDetail></Tax><GrossAmount><Money currency="USD">39.88</Money></GrossAmount><NetAmount><Money currency="USD">39.88</Money></NetAmount><DueAmount><Money currency="USD">39.88</Money></DueAmount></InvoiceDetailSummary></InvoiceDetailRequest></Request></cXML>
|
||||||
1
dev-resources/test-cintas/o.zcic.230310093903aa
Normal file
1
dev-resources/test-cintas/o.zcic.230310093903aa
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/o.zcic.230310093903ab
Normal file
1
dev-resources/test-cintas/o.zcic.230310093903ab
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/o.zcic.230327132403
Normal file
1
dev-resources/test-cintas/o.zcic.230327132403
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd"><cXML version="1.0" payloadID="27032023 12240200.000" timestamp="2023-03-27T12:24:02-00:00" xml:lang="en-US"><Header><From><Credential domain="DUNS"><Identity>056481716-T</Identity></Credential></From><To><Credential domain="DUNS"><Identity>NTGCORP-T</Identity></Credential></To><Sender><Credential domain="DUNS"><Identity>056481716-T</Identity><SharedSecret>NtG$c7S</SharedSecret></Credential><UserAgent>Cintas</UserAgent></Sender></Header><Request deploymentMode="production"><InvoiceDetailRequest><InvoiceDetailRequestHeader invoiceID="1500000604" operation="new" purpose="standard" invoiceDate="2023-03-16T12:24:02-00:00"><InvoiceDetailHeaderIndicator></InvoiceDetailHeaderIndicator><InvoiceDetailLineIndicator isAccountingInLine="yes"></InvoiceDetailLineIndicator><InvoicePartner><Contact role="remitTo"><Name xml:lang="CINTAS CORPORATION #0622"></Name><PostalAddress><Street>PO BOX 29059</Street><City>Phoenix</City><State>AZ</State><PostalCode>850389059</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoicePartner><InvoiceDetailShipping><Contact addressID="31025" role="shipTo"><Name xml:lang="en-US">NICK THE GREEK</Name><PostalAddress><Street>206 E ST</Street><City>DAVIS</City><State>CA</State><PostalCode>956164522</PostalCode><Country isoCountryCode="US">United States</Country></PostalAddress></Contact></InvoiceDetailShipping></InvoiceDetailRequestHeader><InvoiceDetailOrder><InvoiceDetailOrderInfo><OrderReference><DocumentReference payloadID="1500000604"></DocumentReference></OrderReference></InvoiceDetailOrderInfo><InvoiceDetailServiceItem quantity="1.000" invoiceLineNumber="000020"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X106</SupplierPartID></ItemID><Description xml:lang="en-US">SERVICE CHARGE</Description><Extrinsic name="CustomFields"><IdReference identifier="ANC" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">2.56</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">2.56</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="3.000" invoiceLineNumber="000040"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X10197</SupplierPartID></ItemID><Description xml:lang="en-US">4X6 TRAFFIC MAT</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">15.36</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">5.12</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="100.000" invoiceLineNumber="000050"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2700</SupplierPartID></ItemID><Description xml:lang="en-US">TERRY TOWEL - WHITE</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">10.2</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.102</Money></UnitPrice></InvoiceDetailServiceItem><InvoiceDetailServiceItem quantity="50.000" invoiceLineNumber="000060"><InvoiceDetailServiceItemReference lineNumber="001"><ItemID><SupplierPartID>X2873</SupplierPartID></ItemID><Description xml:lang="en-US">BIB APRON-BLACK</Description><Extrinsic name="CustomFields"><IdReference identifier="FACSVCS" domain="CustomField"><Description xml:lang="en">Product Category</Description></IdReference></Extrinsic></InvoiceDetailServiceItemReference><SubtotalAmount><Money currency="USD">10.25</Money></SubtotalAmount><UnitOfMeasure>EA</UnitOfMeasure><UnitPrice><Money currency="USD">0.205</Money></UnitPrice></InvoiceDetailServiceItem></InvoiceDetailOrder><InvoiceDetailSummary><SubtotalAmount><Money currency="USD">38.37</Money></SubtotalAmount><Tax><Money currency="USD">0.00</Money><Description xml:lang="en-US">0.00</Description><TaxDetail purpose="tax" category="sales"><TaxAmount><Money currency="USD">0.00</Money></TaxAmount><Description xml:lang="en-US">TAX ON ITEMS</Description></TaxDetail></Tax><GrossAmount><Money currency="USD">38.37</Money></GrossAmount><NetAmount><Money currency="USD">38.37</Money></NetAmount><DueAmount><Money currency="USD">38.37</Money></DueAmount></InvoiceDetailSummary></InvoiceDetailRequest></Request></cXML>
|
||||||
1
dev-resources/test-cintas/o.zcic.230327132403aa
Normal file
1
dev-resources/test-cintas/o.zcic.230327132403aa
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/o.zcic.230404101217
Normal file
1
dev-resources/test-cintas/o.zcic.230404101217
Normal file
File diff suppressed because one or more lines are too long
1
dev-resources/test-cintas/o.zcic.230404101217aa
Normal file
1
dev-resources/test-cintas/o.zcic.230404101217aa
Normal file
File diff suppressed because one or more lines are too long
@@ -2,61 +2,37 @@
|
|||||||
(:require
|
(:require
|
||||||
[amazonica.aws.s3 :as s3]
|
[amazonica.aws.s3 :as s3]
|
||||||
[auto-ap.datomic :refer [conn]]
|
[auto-ap.datomic :refer [conn]]
|
||||||
[auto-ap.datomic.clients :as d-clients]
|
|
||||||
[auto-ap.datomic.invoices :refer [code-invoice]]
|
|
||||||
[auto-ap.jobs.core :refer [execute]]
|
[auto-ap.jobs.core :refer [execute]]
|
||||||
[auto-ap.ledger :refer [transact-with-ledger]]
|
[auto-ap.ledger :refer [transact-with-ledger]]
|
||||||
|
[auto-ap.logging :as log]
|
||||||
[auto-ap.parse :as parse]
|
[auto-ap.parse :as parse]
|
||||||
[auto-ap.time :as t]
|
[auto-ap.time :as atime]
|
||||||
[clj-time.coerce :as coerce]
|
[clj-time.coerce :as coerce]
|
||||||
|
[clj-time.core :as time]
|
||||||
[clojure.data.csv :as csv]
|
[clojure.data.csv :as csv]
|
||||||
[clojure.java.io :as io]
|
[clojure.java.io :as io]
|
||||||
[clojure.string :as str]
|
[clojure.string :as str]
|
||||||
[auto-ap.logging :as log :refer [capture-context->lc with-context-as]]
|
[clojure.xml :as xml]
|
||||||
[com.unbounce.dogstatsd.core :as statsd]
|
[clojure.zip :as zip]
|
||||||
[config.core :refer [env]]
|
[datomic.api :as d])
|
||||||
[datomic.api :as d]
|
|
||||||
[com.brunobonacci.mulog :as mu]
|
|
||||||
|
|
||||||
[auto-ap.time :as atime])
|
|
||||||
(:import
|
(:import
|
||||||
(java.util UUID)))
|
(java.util UUID)))
|
||||||
|
|
||||||
|
|
||||||
(def bucket-name "data.prod.app.integreatconsult.com" #_(:data-bucket env))
|
(def bucket-name "data.prod.app.integreatconsult.com" #_(:data-bucket env))
|
||||||
|
|
||||||
(defn read-csv [k]
|
(defn read-csv [stream]
|
||||||
(log/info ::reading-csv :key k)
|
(-> stream
|
||||||
(-> (s3/get-object {:bucket-name bucket-name
|
|
||||||
:key k})
|
|
||||||
:input-stream
|
|
||||||
io/reader
|
io/reader
|
||||||
csv/read-csv))
|
csv/read-csv))
|
||||||
|
|
||||||
|
(defn read-xml [stream]
|
||||||
|
(-> (slurp stream)
|
||||||
|
(.getBytes)
|
||||||
|
(java.io.ByteArrayInputStream. )
|
||||||
|
xml/parse
|
||||||
|
zip/xml-zip))
|
||||||
|
|
||||||
|
|
||||||
(defn extract-invoice-details [csv-rows clients]
|
|
||||||
(clojure.pprint/pprint (take 4 csv-rows))
|
|
||||||
(->> csv-rows
|
|
||||||
(drop 1)
|
|
||||||
(filter (fn [[_ _ _ _ _ _ _ _ _ _ _ break-flag]]
|
|
||||||
|
|
||||||
(= "Y" break-flag)))
|
|
||||||
(map (fn [[vendor location-hint invoice-number ship-date invoice-total ]]
|
|
||||||
|
|
||||||
(let [[matching-client similarity] (and location-hint
|
|
||||||
(parse/best-match clients location-hint 0.0))]
|
|
||||||
(clojure.pprint/pprint {:invoice/vendor vendor
|
|
||||||
:invoice/location (parse/best-location-match matching-client location-hint location-hint )
|
|
||||||
:invoice/date (coerce/to-date (atime/parse ship-date atime/normal-date))
|
|
||||||
:invoice/invoice-number invoice-number
|
|
||||||
:invoice/total (Double/parseDouble invoice-total)
|
|
||||||
:invoice/outstanding-balance (Double/parseDouble invoice-total)
|
|
||||||
:invoice/client matching-client
|
|
||||||
:invoice/import-status :import-status/completed
|
|
||||||
:invoice/status :invoice-status/unpaid
|
|
||||||
:invoice/client-identifier location-hint
|
|
||||||
}))))
|
|
||||||
(filter :invoice/client)))
|
|
||||||
|
|
||||||
(defn mark-key [k]
|
(defn mark-key [k]
|
||||||
(s3/copy-object {:source-bucket-name bucket-name
|
(s3/copy-object {:source-bucket-name bucket-name
|
||||||
@@ -69,46 +45,212 @@
|
|||||||
(defn is-csv-file? [x]
|
(defn is-csv-file? [x]
|
||||||
(= "csv" (last (str/split x #"[\\.]"))))
|
(= "csv" (last (str/split x #"[\\.]"))))
|
||||||
|
|
||||||
|
(defn decipher-source [k]
|
||||||
|
(cond
|
||||||
|
(str/includes? k "Cintas")
|
||||||
|
:cintas
|
||||||
|
|
||||||
|
(and (str/includes? k "GeneralProduce")
|
||||||
|
(is-csv-file? k))
|
||||||
|
:general-produce
|
||||||
|
|
||||||
|
:else
|
||||||
|
:unknown))
|
||||||
|
|
||||||
|
(defmulti extract-invoice-details (fn [key input-stream clients]
|
||||||
|
(decipher-source key)))
|
||||||
|
|
||||||
|
(defmethod extract-invoice-details :general-produce
|
||||||
|
[k input-stream clients]
|
||||||
|
(log/info ::parsing-general-produce :key k)
|
||||||
|
(->> (read-csv input-stream)
|
||||||
|
(drop 1)
|
||||||
|
(filter (fn [[_ _ _ _ _ _ _ _ _ _ _ break-flag]]
|
||||||
|
(= "Y" break-flag)))
|
||||||
|
(map (fn [[vendor location-hint invoice-number ship-date invoice-total ]]
|
||||||
|
(let [[matching-client similarity] (and location-hint
|
||||||
|
(parse/best-match clients location-hint 0.0))]
|
||||||
|
{:invoice/vendor vendor
|
||||||
|
:invoice/location (parse/best-location-match matching-client location-hint location-hint )
|
||||||
|
:invoice/date (coerce/to-date (atime/parse ship-date atime/normal-date))
|
||||||
|
:invoice/invoice-number invoice-number
|
||||||
|
:invoice/total (Double/parseDouble invoice-total)
|
||||||
|
:invoice/outstanding-balance (Double/parseDouble invoice-total)
|
||||||
|
:invoice/client matching-client
|
||||||
|
:invoice/import-status :import-status/imported
|
||||||
|
:invoice/status :invoice-status/unpaid
|
||||||
|
:invoice/client-identifier location-hint
|
||||||
|
})))
|
||||||
|
(filter :invoice/client)))
|
||||||
|
|
||||||
|
(defmethod extract-invoice-details :unknown
|
||||||
|
[k input-stream clients]
|
||||||
|
(log/warn ::unknown-invoice-format
|
||||||
|
:key k)
|
||||||
|
[])
|
||||||
|
|
||||||
|
(defn zip-seq [zipper]
|
||||||
|
(->> (zip/xml-zip (zip/node zipper))
|
||||||
|
(iterate zip/next )
|
||||||
|
(take-while (complement zip/end?))))
|
||||||
|
|
||||||
|
(defmethod extract-invoice-details :cintas
|
||||||
|
[k input-stream clients]
|
||||||
|
(log/info ::parsing-cintas :key k)
|
||||||
|
(let [vendor (d/pull (d/db conn) '[:vendor/default-account] :vendor/cintas)
|
||||||
|
top (read-xml input-stream)
|
||||||
|
node-seq (->> top
|
||||||
|
(iterate zip/next)
|
||||||
|
(take-while (complement zip/end?)))
|
||||||
|
location-hint (->> node-seq
|
||||||
|
(filter (fn [z]
|
||||||
|
(= (:tag (zip/node z))
|
||||||
|
:InvoiceDetailShipping)))
|
||||||
|
first
|
||||||
|
zip-seq
|
||||||
|
(map zip/node)
|
||||||
|
(filter (fn [node]
|
||||||
|
(= :Street
|
||||||
|
(:tag node))))
|
||||||
|
first
|
||||||
|
:content
|
||||||
|
first)
|
||||||
|
[matching-client similarity] (and location-hint (parse/best-match clients location-hint 0.0))
|
||||||
|
|
||||||
|
]
|
||||||
|
(if matching-client
|
||||||
|
(let [invoice-date (->> node-seq
|
||||||
|
(map zip/node)
|
||||||
|
(filter (fn [node]
|
||||||
|
(= (:tag node)
|
||||||
|
:InvoiceDetailRequestHeader)))
|
||||||
|
first
|
||||||
|
(#(-> % :attrs :invoiceDate
|
||||||
|
coerce/to-date-time
|
||||||
|
atime/localize
|
||||||
|
(atime/unparse atime/iso-date)
|
||||||
|
(atime/parse atime/iso-date))))
|
||||||
|
location (parse/best-location-match matching-client location-hint location-hint )
|
||||||
|
due (-> invoice-date
|
||||||
|
(time/plus (time/days 30))
|
||||||
|
(coerce/to-date))
|
||||||
|
total (->> node-seq
|
||||||
|
(filter (fn [zipper]
|
||||||
|
(= (:tag (zip/node zipper))
|
||||||
|
:NetAmount)))
|
||||||
|
first
|
||||||
|
zip-seq
|
||||||
|
(map zip/node)
|
||||||
|
(filter (fn [node]
|
||||||
|
(= :Money
|
||||||
|
(:tag node))))
|
||||||
|
first
|
||||||
|
:content
|
||||||
|
first
|
||||||
|
Double/parseDouble)
|
||||||
|
invoice {:invoice/vendor :vendor/cintas
|
||||||
|
:invoice/import-status :import-status/imported
|
||||||
|
:invoice/status :invoice-status/unpaid
|
||||||
|
:invoice/location location
|
||||||
|
:invoice/client-identifier location-hint
|
||||||
|
:invoice/client (:db/id matching-client)
|
||||||
|
:invoice/total total
|
||||||
|
:invoice/outstanding-balance total
|
||||||
|
:invoice/invoice-number (->> node-seq
|
||||||
|
(map zip/node)
|
||||||
|
(filter (fn [node]
|
||||||
|
(= (:tag node)
|
||||||
|
:InvoiceDetailRequestHeader)))
|
||||||
|
first
|
||||||
|
(#(-> % :attrs :invoiceID)))
|
||||||
|
:invoice/due due
|
||||||
|
|
||||||
|
:invoice/scheduled-payment (when-not ((into #{} (->> matching-client
|
||||||
|
:client/feature-flags))
|
||||||
|
"manually-pay-cintas")
|
||||||
|
due)
|
||||||
|
|
||||||
|
:invoice/date (coerce/to-date invoice-date)
|
||||||
|
:invoice/expense-accounts [{:invoice-expense-account/account
|
||||||
|
(-> vendor :vendor/default-account :db/id)
|
||||||
|
:invoice-expense-account/location location
|
||||||
|
:invoice-expense-account/amount (Math/abs total)
|
||||||
|
}]}]
|
||||||
|
(log/info ::cintas-invoice-importing
|
||||||
|
:invoice invoice)
|
||||||
|
[invoice])
|
||||||
|
(do
|
||||||
|
(log/info ::missing-client
|
||||||
|
:client-hint location-hint)
|
||||||
|
[]))))
|
||||||
|
|
||||||
|
(defn mark-error [k]
|
||||||
|
(s3/copy-object {:source-bucket-name bucket-name
|
||||||
|
:destination-bucket-name bucket-name
|
||||||
|
:source-key k
|
||||||
|
:destination-key (str "ntg-invoices/error/"
|
||||||
|
(.getName (io/file k)))}))
|
||||||
|
|
||||||
|
(defn copy-readable-version [k]
|
||||||
|
(let [invoice-key (str "invoice-files/" (UUID/randomUUID) "." (last (str/split k #"[\\.]")))]
|
||||||
|
(log/info ::assigned-random-key
|
||||||
|
:key k
|
||||||
|
:invoice-key invoice-key)
|
||||||
|
(s3/copy-object {:source-bucket-name bucket-name
|
||||||
|
:destination-bucket-name bucket-name
|
||||||
|
:source-key k
|
||||||
|
:destination-key invoice-key })
|
||||||
|
invoice-key))
|
||||||
|
|
||||||
(defn import-ntg-invoices []
|
(defn import-ntg-invoices []
|
||||||
(let [clients (d-clients/get-all)
|
(let [clients (map first (d/q '[:find (pull ?c [:client/code
|
||||||
keys (->> (s3/list-objects-v2 {:bucket-name bucket-name
|
:db/id
|
||||||
:prefix "ntg-invoices/pending"})
|
:client/feature-flags
|
||||||
:object-summaries
|
{:client/location-matches [:location-match/matches :location-match/location]}
|
||||||
(map :key))]
|
:client/name
|
||||||
|
:client/matches
|
||||||
|
:client/locations])
|
||||||
|
:where [?c :client/code]]
|
||||||
|
(d/db conn)))
|
||||||
|
keys (->> (s3/list-objects-v2 {:bucket-name bucket-name
|
||||||
|
:prefix "ntg-invoices/pending"})
|
||||||
|
:object-summaries
|
||||||
|
(map :key))]
|
||||||
|
|
||||||
|
|
||||||
(log/info ::found-invoice-keys
|
(log/info ::found-invoice-keys
|
||||||
:keys keys )
|
:keys keys )
|
||||||
|
|
||||||
(let [transaction (->> keys
|
(let [transaction (->> keys
|
||||||
(filter is-csv-file?)
|
|
||||||
(mapcat (fn [k]
|
(mapcat (fn [k]
|
||||||
(try
|
(try
|
||||||
(log/info ::trying-csv :key k)
|
(let [invoice-key (copy-readable-version k)
|
||||||
(let [invoice-key (str "invoice-files/" (UUID/randomUUID) ".csv") ;
|
|
||||||
invoice-url (str "http://" bucket-name ".s3-website-us-east-1.amazonaws.com/" invoice-key)]
|
invoice-url (str "http://" bucket-name ".s3-website-us-east-1.amazonaws.com/" invoice-key)]
|
||||||
(s3/copy-object {:source-bucket-name bucket-name
|
(with-open [is (-> (s3/get-object {:bucket-name bucket-name
|
||||||
:destination-bucket-name bucket-name
|
:key k})
|
||||||
:source-key k
|
:input-stream)]
|
||||||
:destination-key invoice-key})
|
(doto
|
||||||
(->> (extract-invoice-details (read-csv k) clients)
|
(->> (extract-invoice-details k
|
||||||
(map (fn [i]
|
is
|
||||||
[:propose-invoice (assoc i :invoice/source-url invoice-url)]))
|
clients)
|
||||||
))
|
(map (fn [i]
|
||||||
|
(log/info ::importing-invoice
|
||||||
|
:invoice i)
|
||||||
|
i))
|
||||||
|
(mapv (fn [i]
|
||||||
|
[:propose-invoice (assoc i :invoice/source-url invoice-url)])))
|
||||||
|
println)))
|
||||||
(catch Exception e
|
(catch Exception e
|
||||||
(log/error ::cant-load-file
|
(log/error ::cant-load-file
|
||||||
:key k
|
:key k
|
||||||
:exception e)
|
:exception e)
|
||||||
(log/info
|
(mark-error k)
|
||||||
(s3/copy-object {:source-bucket-name bucket-name
|
[]))))
|
||||||
:destination-bucket-name bucket-name
|
(into []))]
|
||||||
:source-key k
|
(transact-with-ledger transaction {:user/name "sysco importer" :user/role "admin"})
|
||||||
:destination-key (str "ntg-invoices/error/"
|
(log/info ::success
|
||||||
(.getName (io/file k)))}))
|
:count (count transaction)
|
||||||
[])))))
|
:sample (take 3 transaction)))
|
||||||
#_result #_(transact-with-ledger transaction {:user/name "sysco importer" :user/role "admin"})]
|
|
||||||
(clojure.pprint/pprint transaction)
|
|
||||||
#_(log/infof "Imported %d invoices" (/ (count (:tempids result)) 2)))
|
|
||||||
(doseq [k keys]
|
(doseq [k keys]
|
||||||
(mark-key k))))
|
(mark-key k))))
|
||||||
|
|
||||||
|
|||||||
58
test/clj/auto_ap/integration/jobs/ntg.clj
Normal file
58
test/clj/auto_ap/integration/jobs/ntg.clj
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
(ns auto-ap.integration.jobs.ntg
|
||||||
|
(:require [auto-ap.jobs.ntg :as sut]
|
||||||
|
[auto-ap.integration.util :refer [wrap-setup admin-token setup-test-data test-vendor test-account dissoc-id]]
|
||||||
|
[clojure.test :as t :refer [deftest is testing use-fixtures]]
|
||||||
|
[datomic.api :as d]
|
||||||
|
[clojure.java.io :as io]))
|
||||||
|
|
||||||
|
|
||||||
|
(use-fixtures :each wrap-setup)
|
||||||
|
|
||||||
|
(deftest extract-invoice-details-cintas
|
||||||
|
(testing "Should parse a single cintas invoice"
|
||||||
|
(let [client {:db/id 1
|
||||||
|
:client/name "NICK THE GREEK"
|
||||||
|
:client/locations ["OP"]
|
||||||
|
:client/matches ["2034 BROADWAY ST"]}]
|
||||||
|
(is (=
|
||||||
|
[{:invoice/invoice-number "1500000592"
|
||||||
|
:invoice/date #inst "2023-03-09T08:00:00-00:00"
|
||||||
|
:invoice/due #inst "2023-04-08T07:00:00-00:00"
|
||||||
|
:invoice/import-status :import-status/imported
|
||||||
|
:invoice/client-identifier "2034 BROADWAY ST"
|
||||||
|
:invoice/location "OP"
|
||||||
|
:invoice/status :invoice-status/unpaid
|
||||||
|
:invoice/vendor :vendor/cintas
|
||||||
|
:invoice/scheduled-payment #inst "2023-04-08T07:00:00-00:00"
|
||||||
|
:invoice/client 1
|
||||||
|
:invoice/total 39.88
|
||||||
|
:invoice/outstanding-balance 39.88
|
||||||
|
}]
|
||||||
|
(map #(dissoc % :invoice/expense-accounts)
|
||||||
|
(sut/extract-invoice-details "ntg-invoices/Cintas/123"
|
||||||
|
(io/input-stream (io/resource "test-cintas/o.zcic.230310093903"))
|
||||||
|
[client]))))))
|
||||||
|
|
||||||
|
(testing "Should disable automatic payment based on feature flag"
|
||||||
|
(let [client {:db/id 1
|
||||||
|
:client/name "NICK THE GREEK"
|
||||||
|
:client/locations ["OP"]
|
||||||
|
:client/matches ["2034 BROADWAY ST"]
|
||||||
|
:client/feature-flags ["manually-pay-cintas"]}]
|
||||||
|
(is (nil? (->> (sut/extract-invoice-details "ntg-invoices/Cintas/123"
|
||||||
|
(io/input-stream (io/resource "test-cintas/o.zcic.230310093903"))
|
||||||
|
[client])
|
||||||
|
first
|
||||||
|
:invoice/scheduled-payment)))))
|
||||||
|
|
||||||
|
(testing "Should not import anything when there isn't an exact match"
|
||||||
|
(let [client {:db/id 1
|
||||||
|
:client/name "NICK THE GREEK"
|
||||||
|
:client/locations ["OP"]
|
||||||
|
:client/matches ["123 time square"]}]
|
||||||
|
(is (=
|
||||||
|
[]
|
||||||
|
(sut/extract-invoice-details "ntg-invoices/Cintas/123"
|
||||||
|
(io/input-stream (io/resource "test-cintas/o.zcic.230310093903"))
|
||||||
|
[client]))))))
|
||||||
|
|
||||||
Reference in New Issue
Block a user