API Endpunkte
Die Kommunikation zwischen den Workflow System und BC erfolgt ausschließlich über Webservices. Der Rechnungsmonitor stellt Informationen und Funktionen durch Dynamics 365 Business Central API Objekte zur Verfügung. Für jeden Endpoint kann das Schemata über folgende GET-Request ermittelt werden: https://api.businesscentral.dynamics.com/v2.0/{Tenant-ID}/{Environment-Name}}/api/kmirmInvoiceCockpit/{APIGroup}}/v2.0/$metadata
API Page RM Document Header
In der API Page wird der Beleg anhand der Archiv ID oder des Barcodes identifiziert. (Felder EntryArchiveID und EntryBarcode).
Wenn kein Datensatz identifiziert wurde, wird ein neuer Datensatz angelegt. Dabei werden die Regeln für die Verarbeitung von Archiv ID und Barcode aus dem Setup berücksichtigt.
Wenn ein Datensatz identifiziert wird, werden die Daten angezeigt und stehen für die Modifikation durch den Webservice zur Verfügung. Jede Feldänderung durchläuft die Validierung gegen die Vorerfassungsrechnung, wenn diese nicht vom Webservice ausgesetzt wurde. (Feld EntryStopValidation). Das Aus- und Einschalten der Validierung wird im Document Log aufgezeichnet.
Über das Feld EntryWorkflowStatus wird der Status des Belegs aktualisiert. Gleichzeitig werden dadurch Nachrichten in das Document Log geschrieben.
Die Page verfügt über 20 Custom Felder. (Custom1, Custom2, etc.). Bei Feldänderung validiert das Programm gegen das in der Einrichtung angegebene Zielfeld.
Das Ändern eines Datensatzes erfolgt über eine POST-Request.
Beispiel-Request:
POST https://api.businesscentral.dynamics.com/v2.0/{Tenant-ID}/{Environment-Name}}/api/kmirmInvoiceCockpit/workflow/v2.0/companies({Company-ID}})/rmDocumentHeaders
{
"vendorInvoiceNo": "Tobi ist der beste",
"entryBarcode": "{{EntryNoArchiveBarcodeID}}",
"entryArchiveID": "{{EntryNoArchiveBarcodeID}}",
"buyFromVendorNo": "10000",
"buyfromVendorName": "Fabrikam, Inc.",
"documentDate": "2022-06-29",
"postingDate": "2022-06-30",
"vendorOrderNo": "",
"paymentTermsCode": "LM",
"entryWorkflowStatus": "",
"currencyCode": "",
"postingDescription": "Tobis super rechnung",
"workflowStartStatus": true,
"workflowApprovalStatus": false,
"workflowRejectStatus": false,
"documentFinalReturnStatus": false,
"documentFinalReleaseStatus": false,
"skipValidation": false,
"amount": 6235.1,
"amountIncludingVat": 7419.77,
"vatAmount": 1180.87,
"documentType": "Invoice",
"vatBusPostingGroup": "INLAND",
"vendorCrMemoNo": "Test_MAGA"
}
API Page RM Document Line
Die Page verfügt über 20 Custom Felder. (Custom1, Custom2, etc.). Bei Feldänderung validiert das Programm gegen das in der Einrichtung angegebene Zielfeld. Das Ändern eines Datensatzes erfolgt über eine POST-Request. Beispiel-Request:
POST https://api.businesscentral.dynamics.com/v2.0/{Tenant-ID}/{Environment-Name}}/api/kmirmInvoiceCockpit/workflow/v2.0/companies({Company-ID}})/rmDocumentLines
{
"entryNo": {{EntryNoArchiveBarcodeID}},
"lineNo": 10000,
"type": "Item",
"no": "1936-S",
"vatProdPostingGroup": "MWST.19",
"genBusPostingGroup": "INLAND",
"description": "INNSBRUCK Regal, mit Holztür",
"quantity": 30,
"lineAmount": 6195.10,
"directUnitCost": 251.1,
"unitOfMeasureCode": "",
"shortcutDimension1": "",
"shortcutDimension2": "",
"shortcutDimension3": "",
"shortcutDimension4": "",
"shortcutDimension5": "",
"shortcutDimension6": "",
"shortcutDimension7": "",
"shortcutDimension8": "",
"orderNo": "106014",
"orderLineNo": 20000,
"receiptNo": "107223",
"receiptLineNo": 20000
}
API Page Custom Item Charge Assignment Purchase
Um die Zuweisung einer Zu/Abschlagszeile einer Vorerfassungsrechnung durchführen zu können kann diese API Page verwendet werden. Beispiel-Request:
POST https://api.businesscentral.dynamics.com/v2.0/{Tenant-ID}/{Environment-Name}}/api/kmirmInvoiceCockpit/workflow/v2.0/companies({Company-ID}})/rmItemChargeAssignments
{
"entryNo": {{EntryNoArchiveBarcodeID}},
"rmLineNo": 30000,
"itemChargeNo": "E-FRACHT",
"lineNo": 10000,
"appliestoDocLineNo": 20000,
"itemNo": "1936-S",
"unitCost": 20,
"qtyToAssign": 1
}