Spendint API - POST /sn_spend_intg/spendint/invoice
Akzeptiert Rechnungen von Drittanbietern.
Wenn sich die Bestellung und Bestellpositionen im Status „Ausstehende Übermittlung“ befinden und die Kundenaufträge und Kundenauftragspositionen nicht ausgefüllt sind, sind der Versand und die Rechnungsübermittlung durch den externen Reseller nicht zulässig. Dies ist nur zulässig, wenn der Status der Bestellung und der Bestellpositionen „Bestellt“ lautet. Außerdem gibt es keine Einschränkungen bezüglich der Abfolge von Versand und Rechnungsübermitlung.
- Auf Lieferung wartend: Wenn keine Belege vorhanden sind, wurde entweder die Bestellung teilweise geliefert oder die Rechnung muss genehmigt werden.
- Rechnung bestätigt: Wenn die Bestellung geliefert wurde und der Rechnungsbetrag mit dem Gesamtbetrag der Bestellung übereinstimmt.
- Überprüfung erforderlich: Wenn die Bestellung geliefert wurde und der Rechnungsbetrag nicht mit dem Gesamtbetrag der Bestellung übereinstimmt.
Wenn eine gültige Rechnung für eine Position gebucht wird, kann dieselbe Rechnung nicht aktualisiert werden.
Wenn die vorgelegte Rechnung keine Kaufauftragsnummer enthält, wird die Rechnung abgelehnt und Sie erhalten eine Fehlermeldung, die besagt, dass eine oder mehrere der vorgelegten Rechnungen keine Kaufauftragsnummer haben. Wenn die vorgelegte Rechnung eine Kaufauftragsnummer hat, diese aber nicht mit der Bestellung übereinstimmt oder keine Bestellung vorhanden ist, wird eine Fehlermeldung angezeigt. Die Meldung besagt, dass für eine oder mehrere Rechnungen keine Bestellung vorhanden ist, die der Bestellnummer der Rechnung entspricht. Außerdem wird die Rechnung abgelehnt, wenn der vom Drittpartei-Reseller übermittelte Rechnungsbetrag nicht mit dem in Rechnung gestellten Betrag übereinstimmt.
Statustabellen
Um den Status der Rechnungsanforderung zu erfahren, führen Sie in der ServiceNow-Datenbank mit der Tabelle „REST-APIs“ einen REST-Aufruf durch. Die Antwort der API listet die Datensätze auf, bei denen die Rechnungserstellung fehlgeschlagen ist. Um eine Antwort für die Rechnung zu erhalten, fragen Sie die Tabelle „Rechnungsfehler“ mit dem folgenden Parameter ab:
sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20
Die Detailinformationen zu Kunden-ID, Lieferanten-ID, Fehlertyp, eindeutiger Import Set-ID und Status finden Sie in der Tabelle „Ausgehender Status“, der übergeordneten Fehlertabelle.
URL-Format
/api/sn_spend_intg/spendint/invoice
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Modus | Unterstützung des asynchronen und des synchronen Modus für die Drittanbieterintegration. Datentyp: Zeichenfolge Gültige Werte:
Standard: async |
| Name | Beschreibung |
|---|---|
| currency | Erforderlich. Währung für die Zwischensumme, die Steuern und den Versand. Die Zwischensumme, die Steuern und der Versand müssen in derselben Währung angegeben sein. Datentyp: Zeichenfolge Maximale Länge: 40 |
| customer_id | Bezeichner für den Kunden. Datentyp: Zeichenfolge Maximale Länge: 100 |
| discounts | Rabatte, die auf die Rechnung angewendet werden. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| invoice_date | Erforderlich. Datum, an dem dem Kunden eine Rechnung ausgestellt wurde. Datentyp: Zeichenfolge Maximale Länge: 40 Format: JJJJ-MM-TT |
| invoice_lines | Liste der Objekte, die die Positionen definieren, die für Käufe in dieser Bestellung in Rechnung gestellt werden. Datentyp: Array |
| invoice_lines.invoiced_line_amount | Erforderlich. Gesamtkosten (ohne Steuern und Versand), die einem Kunden für eine bestimmte Bestellposition in Rechnung gestellt werden. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.invoiced_quantity | Erforderlich. Menge der Waren oder Dienstleistungen, die einem Kunden in Rechnung gestellt wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.line_number | Erforderlich. Bestellpositionsnummer, die vom Kunden für einen bestimmten Kauf generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.sales_order_line_number | Erforderlich. Verkaufsauftragspositionsnummer, die vom Lieferanten generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.supplier_invoice_line_number | Erforderlich. Identifikationsnummer, die von einem Lieferanten für diese Rechnungsposition generiert wird. Datentyp: Zeichenfolge Maximale Länge: 100 |
| other_charges | Andere zusätzliche Gebühren, die der Rechnung zugeordnet sind. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| order_number | Erforderlich. Kaufauftragsnummer, die der Kunde für diese Bestellung angegeben hat. Datentyp: Zeichenfolge Maximale Länge: 40 |
| remit_to_address | Erforderlich. Standort, an den eine Zahlung ergeht. Datentyp: Zeichenfolge Maximale Länge: 1.000 |
| sales_order_number | Erforderlich. Nummer oder Wert, die/der vom Lieferanten für diesen Auftrag generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipping | Erforderlich. Gesamtversandkosten für den gesamten Kauf. Datentyp: Zeichenfolge Maximale Länge: 40 |
| Zwischensumme | Erforderlich. Gesamtbetrag, der an den Lieferanten zu zahlen ist, ausschließlich Steuern und Versandkosten. Datentyp: Zeichenfolge Maximale Länge: 40 |
| supplier_id | Erforderlich. Bezeichner für den Reseller oder Lieferanten, bei dem der Kunde Bestellungen aufgeben kann. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_invoice_number | Erforderlich. Identifikationsnummer, die von einem Lieferanten für diese Rechnung generiert wird. Datentyp: Zeichenfolge Maximale Länge: 100 |
| supplier_tax_id | Steuerbezeichner, der dem Drittpartei-Reseller zugeordnet ist. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| tax | Erforderlich. Gesamtbetrag der Steuern, die für den Kauf in Rechnung gestellt werden. Datentyp: Zeichenfolge Maximale Länge: 40 |
| tax_rate | Steuersatz in Prozent, der für den Auftrag angewendet wird. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Bezeichner, der es einer Drittpartei ermöglicht, einen Zeichenfolgenwert zu übergeben, um einen Satz importierter Daten eindeutig zu identifizieren. Datentyp: Zeichenfolge Maximale Länge: 100 |
| total_amount_invoiced | Erforderlich. Gesamtbetrag, der an den Lieferanten zu zahlen ist, einschließlich Steuern und Versandkosten. Datentyp: Zeichenfolge Maximale Länge: 40 |
Header
Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder sie gelten für diese Aktion auf besondere Weise.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion.
| Statuscode | Beschreibung |
|---|---|
| Erfolg | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| Fehler | Nicht erfolgreich. Die Anforderung wurde mit Fehlern verarbeitet. |
Parameter des Antwort-Haupttexts (JSON)
Diese Antworttextparameter werden bei einer Abfrage im synchronen Modus empfangen.| Name | Beschreibung |
|---|---|
| error_response_body | Beschreibung der Fehler, aufgelistet nach Verkaufsauftragspositionsnummer, Verkaufsauftragsnummer, Lieferantenrechnungsnummer, Lieferantenrechnungspositionsnummer und Fehlermeldung. Datentyp: Array |
| error_response_body.error_message | Detaillierte Fehlermeldung. Datentyp: Zeichenfolge |
| status_code | Antwortstatus wie „Erfolg“ oder „Fehler“. Datentyp: Zeichenfolge |
cURL-Anforderung
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/invoice" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"supplier_invoice_number": "QAAP89873220071",
"supplier_tax_id": "TIN000000",
"order_number": "POL7987633",
"sales_order_number": "SO0000000081",
"invoice_date": "YYYY-MM-DD",
"subtotal": "6000",
"tax_rate": "10%",
"tax": "600",
"shipping": "120",
"other_charges": "100",
"discounts": "200",
"total_amount_invoiced": "6620",
"remit_to_address": "1640 Camino Del Rio North #202, San Diego,CA",
"currency": "USD",
"invoice_lines": [
{
"supplier_invoice_line_number": "QA789A867877ABN32251",
"line_number": "POL587667",
"sales_order_line_number": "SOL00000081",
"invoiced_quantity": "45",
"invoiced_line_amount": "4000"
},
{
"line_number": "POL587668",
"supplier_invoice_line_number": "78987323",
"sales_order_line_number": "SOL98769",
"invoiced_quantity": "12",
"invoiced_line_amount": "2000"
}
]
}
]}
Mögliche Antworten:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL00000081",
"sales_order_number": "SO0000000081",
"supplier_invoice_number": "QAAP89873220071",
"supplier_invoice_line_number": "QA789A867877ABN32251",
"error_message": "The invoice do not have a corresponding purchase order which matches the purchase order number of the invoice provided\n"
}
]
}
]
}
}