Spendint-API: /sn_spend_intg/Spendint/Invoice BUCHEN
Akzeptiert Rechnungen von Drittanbietern.
Wenn sich die Bestellung und die Bestellpositionen im Status „Ausstehende Übermittlung“ befinden und der Kundenauftrag und die Kundenauftragspositionen nicht ausgefüllt sind, ist die Versand- und Rechnungsbuchung durch den Drittpartei-Händler nicht zulässig. Dies ist nur zulässig, wenn der Status der Bestellung und Bestellpositionen „bestellt“ lautet. Außerdem gibt es keine sequenzielle Einschränkung für Versand- und Rechnungsbuchung.
- Warten auf Lieferung: Wenn keine Belege vorhanden sind, wird der Auftrag teilweise geliefert, oder die Rechnung muss genehmigt werden.
- Rechnung bestätigt: Wenn die Bestellung geliefert wird und der fakturierte Betrag dem Gesamtbetrag der Bestellung entspricht.
- Überprüfung erforderlich: Wenn die Bestellung geliefert wird und der fakturierte Betrag 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 angegebene Rechnung keine Bestellnummer hat, wird die Rechnung abgelehnt, und es wird eine Fehlermeldung angezeigt, die angibt, dass mindestens eine der angegebenen Rechnungen keine Bestellnummer hat. Wenn die angegebene Rechnung eine Bestellnummer hat, sie aber nicht mit der Bestellung übereinstimmt oder keine Bestellung vorhanden ist, wird eine Fehlermeldung angezeigt. In der Nachricht wird angegeben, dass mindestens eine Rechnung keine entsprechende Bestellung hat, die der Bestellnummer der Rechnung entspricht. Wenn der vom Drittpartei-Wiederverkäufer in Rechnung gestellte Betrag nicht mit dem in Rechnung gestellten Betrag übereinstimmt, wird die Rechnung abgelehnt.
Statustabellen
Um den Status der Rechnungsanforderung zu erfahren, führen Sie einen REST-Aufruf in durch ServiceNowDatenbank, die verwendet Tabelle REST-API. Die Antwort der API listet die Datensätze auf, bei denen die Rechnungserstellung fehlgeschlagen ist. Für die Rechnungsantwort fragen Sie die Tabelle „Rechnungsfehler“ mit dem folgenden Parameter ab:
Sysparm_query=outbound_error.Supplier_ID=<supplier_id>^outbound_error.State=20
Die Details zur Kunden-ID, Lieferanten-ID, zum Fehlertyp, zur eindeutigen Importsatz-ID und zum 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 für asynchrone und synchrone Modi für die Integration von Drittparteien. Datentyp: Zeichenfolge Gültige Werte:
Standard: Asynchron |
| Name | Beschreibung |
|---|---|
| currency | Erforderlich. Währung für Zwischensumme, Steuer und Versand. Zwischensumme, Steuer und 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 |
| Rabatte | Rabatte, die auf die Rechnung angewendet werden. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| Invoice_date | Erforderlich. Datum, an dem der Kunde in Rechnung gestellt wurde. Datentyp: Zeichenfolge Maximale Länge: 40 FORMAT: JJJJ-MM-TT |
| Invoice_lines | Liste von Objekten, die die Positionen definieren, die für Einkäufe innerhalb dieses Auftrags 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 Services, für die ein Kunde in Rechnung gestellt wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| Invoice_lines.line_number | Erforderlich. Bestellpositionsnummer, die vom Kunden für eine bestimmte Bestellung generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| invoice_lines.sales_order_line_number | Erforderlich. Vertriebsauftragspositionsnummer, 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. Bestellnummer, die vom Kunden für diese Bestellung bereitgestellt wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| REMIT_to_address | Erforderlich. Standort, an den eine Zahlung erfolgt. Datentyp: Zeichenfolge Maximale Länge: 1000 |
| Sales_order_number | Erforderlich. Nummer oder Wert, der vom Lieferanten für diesen Auftrag generiert wird. Datentyp: Zeichenfolge Maximale Länge: 40 |
| shipping | Erforderlich. Gesamtversandkosten für den gesamten Einkauf. Datentyp: Zeichenfolge Maximale Länge: 40 |
| Zwischensumme | Erforderlich. Gesamtbetrag des an den Lieferanten zu zahlenden Geldbetrags ohne Steuern und Versandkosten. Datentyp: Zeichenfolge Maximale Länge: 40 |
| Supplier_ID | Erforderlich. Bezeichner für den Händler 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-Wiederverkäufer zugeordnet ist. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| Steuer | Erforderlich. Gesamtbetrag der Steuern, die für den Kauf in Rechnung gestellt werden. Datentyp: Zeichenfolge Maximale Länge: 40 |
| Tax_rate | Steuersatz-Prozentsatz, der für den Auftrag angewendet wird. Dies ist ein bearbeitbares Feld. Datentyp: Zeichenfolge Maximale Länge: 100 |
| third_party_import_id | Bezeichner, mit dem eine Drittpartei einen Zeichenfolgenwert übergeben kann, um einen Satz importierter Daten eindeutig zu identifizieren. Datentyp: Zeichenfolge Maximale Länge: 100 |
| Total_amount_Invoiced | Erforderlich. Gesamtbetrag des an den Lieferanten zu zahlenden Geldbetrags, 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 werden auf diese Aktion in einer bestimmten Weise angewendet.
| Header | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/jsonOder application/xml. Standard: application/json |
| Header | 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. |
Antworttext-Parameter (JSON)
Diese Antworttextparameter werden empfangen, wenn sie im synchronen Modus abgefragt werden.| Name | Beschreibung |
|---|---|
| Error_response_body | Beschreibung der Fehler, aufgeführt 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"
}
]
}
]
}
}