Как опубликовать счет cXML с вложениями в Coupa?

Coupa представила эту новую функцию включения вложений в счета-фактуры cXML. Единственная документация (о которой я знаю) говорит, что включает код (упомянутый ниже) в файл счета-фактуры CXML.

Купе Документация:

Скриншот из документации Coupa

Может ли кто-нибудь помочь мне понять, как я могу использовать эту документацию при отправке счета-фактуры cXML? Будем признательны за любую другую помощь по включению вложений в счет-фактуру cXML (для Coupa).

заранее спасибо


person Gagan Bajaj    schedule 06.03.2018    source источник


Ответы (2)


Правильно, R18 позволяет вам прикреплять файлы во время публикации вашего InvoiceDetailRequest cxml. До R18 вы должны были прикреплять сообщение, состоящее из двух частей, с помощью ключа Coupa API. Начиная с R18 ключ API отсутствует, и вы используете заголовок . Ниже показано, как вы это делаете. Я буду следить за этой страницей, если у вас возникнут уточняющие вопросы.

1. В заголовке Content-ID необходимо указать составной тип мультимедиа MIME. Это заставит наш парсер извлечь вложение.

пример: Content-type: multipart/related

2 -- Вы должны передать атрибут в элементе. Данные вложения могут быть URL-адресом или идентификатором содержимого (cid) файла на вашем сервере. При выполнении cid файл должен находиться в той же структуре папок на вашем сервере, что и ваш документ InvoiceDetailRequest. В приведенном ниже примере мы прикрепляем 2 файла, файл и URL-адрес.

пример:

<Comments>
<Attachment><URL>cid:test.pdf</URL></Attachment>
<Attachment><URL>url</URL></Attachment>
</Comments>
</InvoiceDetailRequestHeader>

Дополнительные сведения см. на стр. 51 и 69 на сайте cxml.org.

person Phannga Pathammavong    schedule 08.03.2018

Пример

------=_Part

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd">
<cXML version="1.2.020" xml:lang="en-US" timestamp="2018-03-08T8:48:54-08:00" payloadID="2018-03-08T8:48:54-08:00">
    <Header>
        <From>
            <Credential domain="duns">
                <Identity>xxx</Identity>
            </Credential>
        </From>
        <To>
            <Credential domain="duns">
                <Identity>yyy</Identity>
            </Credential>
        </To>
        <Sender>
            <Credential domain="duns">
                <Identity>xxx</Identity>
                <SharedSecret>none</SharedSecret>
            </Credential>
            <UserAgent>Coupa Procurement 1.0</UserAgent>
        </Sender>
    </Header>
    <Request deploymentMode="production">
        <InvoiceDetailRequest>
            <InvoiceDetailRequestHeader invoiceDate="2018-03-08T8:48:54-08:00" operation="new" purpose="standard" invoiceOrigin="supplier" invoiceID="COUPATEST">
                <InvoiceDetailHeaderIndicator />
                <InvoiceDetailLineIndicator isAccountingInLine="yes" />
                <PaymentTerm payInNumberOfDays="30" />
                <Comments>
                    <Attachment>
                        <URL>cid:invoice.pdf</URL>
                    </Attachment>
                </Comments>
            </InvoiceDetailRequestHeader>
            <InvoiceDetailOrder>
                <InvoiceDetailOrderInfo>
                    <OrderReference>
                        <DocumentReference payloadID="19897" />
                    </OrderReference>
                </InvoiceDetailOrderInfo>
                <InvoiceDetailItem quantity="1.0" invoiceLineNumber="1">
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <UnitPrice>
                        <Money currency="USD">1.00</Money>
                    </UnitPrice>
                    <InvoiceDetailItemReference lineNumber="1">
                        <ItemID>
                            <SupplierPartID />
                            <SupplierPartAuxiliaryID />
                        </ItemID>
                        <Description xml:lang="en-US">Pencil, Blue, Fine Fonts</Description>
                    </InvoiceDetailItemReference>
                    <SubtotalAmount>
                        <Money currency="USD">1.00</Money>
                    </SubtotalAmount>
                </InvoiceDetailItem>
            </InvoiceDetailOrder>
            <InvoiceDetailSummary>
                <SubtotalAmount>
                    <Money currency="USD">1.00</Money>
                </SubtotalAmount>
                <Tax>
                    <Money currency="USD">0</Money>
                    <Description xml:lang="en-US" />
                    <TaxDetail purpose="tax" category="USD" percentageRate="0" taxPointDate="2018-03-08T8:48:54-08:00">
                        <TaxableAmount>
                            <Money currency="USD">1.00</Money>
                        </TaxableAmount>
                        <TaxAmount>
                            <Money currency="USD">0</Money>
                        </TaxAmount>
                        <TaxLocation xml:lang="en">USD</TaxLocation>
                    </TaxDetail>
                </Tax>
                <NetAmount>
                    <Money currency="USD">1.00</Money>
                </NetAmount>
            </InvoiceDetailSummary>
        </InvoiceDetailRequest>
    </Request>
</cXML>
11.11

Тип содержимого: текст/xml; кодировка = UTF-8

Идентификатор контента:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd">
<cXML version="1.2.020" xml:lang="en-US" timestamp="2018-03-08T8:48:54-08:00" payloadID="2018-03-08T8:48:54-08:00">
    <Header>
        <From>
            <Credential domain="duns">
                <Identity>xxx</Identity>
            </Credential>
        </From>
        <To>
            <Credential domain="duns">
                <Identity>yyy</Identity>
            </Credential>
        </To>
        <Sender>
            <Credential domain="duns">
                <Identity>xxx</Identity>
                <SharedSecret>none</SharedSecret>
            </Credential>
            <UserAgent>Coupa Procurement 1.0</UserAgent>
        </Sender>
    </Header>
    <Request deploymentMode="production">
        <InvoiceDetailRequest>
            <InvoiceDetailRequestHeader invoiceDate="2018-03-08T8:48:54-08:00" operation="new" purpose="standard" invoiceOrigin="supplier" invoiceID="COUPATEST">
                <InvoiceDetailHeaderIndicator />
                <InvoiceDetailLineIndicator isAccountingInLine="yes" />
                <PaymentTerm payInNumberOfDays="30" />
                <Comments>
                    <Attachment>
                        <URL>cid:invoice.pdf</URL>
                    </Attachment>
                </Comments>
            </InvoiceDetailRequestHeader>
            <InvoiceDetailOrder>
                <InvoiceDetailOrderInfo>
                    <OrderReference>
                        <DocumentReference payloadID="19897" />
                    </OrderReference>
                </InvoiceDetailOrderInfo>
                <InvoiceDetailItem quantity="1.0" invoiceLineNumber="1">
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <UnitPrice>
                        <Money currency="USD">1.00</Money>
                    </UnitPrice>
                    <InvoiceDetailItemReference lineNumber="1">
                        <ItemID>
                            <SupplierPartID />
                            <SupplierPartAuxiliaryID />
                        </ItemID>
                        <Description xml:lang="en-US">Pencil, Blue, Fine Fonts</Description>
                    </InvoiceDetailItemReference>
                    <SubtotalAmount>
                        <Money currency="USD">1.00</Money>
                    </SubtotalAmount>
                </InvoiceDetailItem>
            </InvoiceDetailOrder>
            <InvoiceDetailSummary>
                <SubtotalAmount>
                    <Money currency="USD">1.00</Money>
                </SubtotalAmount>
                <Tax>
                    <Money currency="USD">0</Money>
                    <Description xml:lang="en-US" />
                    <TaxDetail purpose="tax" category="USD" percentageRate="0" taxPointDate="2018-03-08T8:48:54-08:00">
                        <TaxableAmount>
                            <Money currency="USD">1.00</Money>
                        </TaxableAmount>
                        <TaxAmount>
                            <Money currency="USD">0</Money>
                        </TaxAmount>
                        <TaxLocation xml:lang="en">USD</TaxLocation>
                    </TaxDetail>
                </Tax>
                <NetAmount>
                    <Money currency="USD">1.00</Money>
                </NetAmount>
            </InvoiceDetailSummary>
        </InvoiceDetailRequest>
    </Request>
</cXML>

------=_Part

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd">
<cXML version="1.2.020" xml:lang="en-US" timestamp="2018-03-08T8:48:54-08:00" payloadID="2018-03-08T8:48:54-08:00">
    <Header>
        <From>
            <Credential domain="duns">
                <Identity>xxx</Identity>
            </Credential>
        </From>
        <To>
            <Credential domain="duns">
                <Identity>yyy</Identity>
            </Credential>
        </To>
        <Sender>
            <Credential domain="duns">
                <Identity>xxx</Identity>
                <SharedSecret>none</SharedSecret>
            </Credential>
            <UserAgent>Coupa Procurement 1.0</UserAgent>
        </Sender>
    </Header>
    <Request deploymentMode="production">
        <InvoiceDetailRequest>
            <InvoiceDetailRequestHeader invoiceDate="2018-03-08T8:48:54-08:00" operation="new" purpose="standard" invoiceOrigin="supplier" invoiceID="COUPATEST">
                <InvoiceDetailHeaderIndicator />
                <InvoiceDetailLineIndicator isAccountingInLine="yes" />
                <PaymentTerm payInNumberOfDays="30" />
                <Comments>
                    <Attachment>
                        <URL>cid:invoice.pdf</URL>
                    </Attachment>
                </Comments>
            </InvoiceDetailRequestHeader>
            <InvoiceDetailOrder>
                <InvoiceDetailOrderInfo>
                    <OrderReference>
                        <DocumentReference payloadID="19897" />
                    </OrderReference>
                </InvoiceDetailOrderInfo>
                <InvoiceDetailItem quantity="1.0" invoiceLineNumber="1">
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <UnitPrice>
                        <Money currency="USD">1.00</Money>
                    </UnitPrice>
                    <InvoiceDetailItemReference lineNumber="1">
                        <ItemID>
                            <SupplierPartID />
                            <SupplierPartAuxiliaryID />
                        </ItemID>
                        <Description xml:lang="en-US">Pencil, Blue, Fine Fonts</Description>
                    </InvoiceDetailItemReference>
                    <SubtotalAmount>
                        <Money currency="USD">1.00</Money>
                    </SubtotalAmount>
                </InvoiceDetailItem>
            </InvoiceDetailOrder>
            <InvoiceDetailSummary>
                <SubtotalAmount>
                    <Money currency="USD">1.00</Money>
                </SubtotalAmount>
                <Tax>
                    <Money currency="USD">0</Money>
                    <Description xml:lang="en-US" />
                    <TaxDetail purpose="tax" category="USD" percentageRate="0" taxPointDate="2018-03-08T8:48:54-08:00">
                        <TaxableAmount>
                            <Money currency="USD">1.00</Money>
                        </TaxableAmount>
                        <TaxAmount>
                            <Money currency="USD">0</Money>
                        </TaxAmount>
                        <TaxLocation xml:lang="en">USD</TaxLocation>
                    </TaxDetail>
                </Tax>
                <NetAmount>
                    <Money currency="USD">1.00</Money>
                </NetAmount>
            </InvoiceDetailSummary>
        </InvoiceDetailRequest>
    </Request>
</cXML>
22.22

Тип содержимого: приложение/pdf

Кодирование передачи контента: urlencoded

Content-Disposition: вложение; имя файла=счет-фактура.pdf

Идентификатор контента:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd">
<cXML version="1.2.020" xml:lang="en-US" timestamp="2018-03-08T8:48:54-08:00" payloadID="2018-03-08T8:48:54-08:00">
    <Header>
        <From>
            <Credential domain="duns">
                <Identity>xxx</Identity>
            </Credential>
        </From>
        <To>
            <Credential domain="duns">
                <Identity>yyy</Identity>
            </Credential>
        </To>
        <Sender>
            <Credential domain="duns">
                <Identity>xxx</Identity>
                <SharedSecret>none</SharedSecret>
            </Credential>
            <UserAgent>Coupa Procurement 1.0</UserAgent>
        </Sender>
    </Header>
    <Request deploymentMode="production">
        <InvoiceDetailRequest>
            <InvoiceDetailRequestHeader invoiceDate="2018-03-08T8:48:54-08:00" operation="new" purpose="standard" invoiceOrigin="supplier" invoiceID="COUPATEST">
                <InvoiceDetailHeaderIndicator />
                <InvoiceDetailLineIndicator isAccountingInLine="yes" />
                <PaymentTerm payInNumberOfDays="30" />
                <Comments>
                    <Attachment>
                        <URL>cid:invoice.pdf</URL>
                    </Attachment>
                </Comments>
            </InvoiceDetailRequestHeader>
            <InvoiceDetailOrder>
                <InvoiceDetailOrderInfo>
                    <OrderReference>
                        <DocumentReference payloadID="19897" />
                    </OrderReference>
                </InvoiceDetailOrderInfo>
                <InvoiceDetailItem quantity="1.0" invoiceLineNumber="1">
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <UnitPrice>
                        <Money currency="USD">1.00</Money>
                    </UnitPrice>
                    <InvoiceDetailItemReference lineNumber="1">
                        <ItemID>
                            <SupplierPartID />
                            <SupplierPartAuxiliaryID />
                        </ItemID>
                        <Description xml:lang="en-US">Pencil, Blue, Fine Fonts</Description>
                    </InvoiceDetailItemReference>
                    <SubtotalAmount>
                        <Money currency="USD">1.00</Money>
                    </SubtotalAmount>
                </InvoiceDetailItem>
            </InvoiceDetailOrder>
            <InvoiceDetailSummary>
                <SubtotalAmount>
                    <Money currency="USD">1.00</Money>
                </SubtotalAmount>
                <Tax>
                    <Money currency="USD">0</Money>
                    <Description xml:lang="en-US" />
                    <TaxDetail purpose="tax" category="USD" percentageRate="0" taxPointDate="2018-03-08T8:48:54-08:00">
                        <TaxableAmount>
                            <Money currency="USD">1.00</Money>
                        </TaxableAmount>
                        <TaxAmount>
                            <Money currency="USD">0</Money>
                        </TaxAmount>
                        <TaxLocation xml:lang="en">USD</TaxLocation>
                    </TaxDetail>
                </Tax>
                <NetAmount>
                    <Money currency="USD">1.00</Money>
                </NetAmount>
            </InvoiceDetailSummary>
        </InvoiceDetailRequest>
    </Request>
</cXML>
person Phannga Pathammavong    schedule 08.03.2018