to get a personalized navigation.
to get a personalized navigation.
Hi,
Been having issues creating SupplierInvoices, and after fixing some previous issues, we now get a IPPException error, but it is empty when returned.
{ "ExceptionType": "IPPException", "ExceptionMessage": "", "ExceptionFaultCode": "5520", "ExceptionMessageID": "5520_a319be32-d561-4fe6-b9df-fa304c9f45a2", "ExceptionDetails": "" }
Any idea as to what might be the cause for this error?
The JSON I tried to use for creating the SupplierInvoice just to test it this:
{
"documentType": {
"value": "Invoice"
},
"hold": {
"value": true
},
"date": {
"value": "2020-10-20T11:30:40.264Z"
},
"origInvoiceDate": {
"value": "2020-10-20T11:30:40.264Z"
},
"supplierReference": {
"value": "49999"
},
"description": {
"value": "XXXX"
},
"supplierNumber": {
"value": "49999"
},
"amount": {
"value": 0
},
"vatAmount": {
"value": 0
},
"invoiceLines": [
{
"operation": "Insert",
"lineNumber": {
"value": 1
},
"quantity": {
"value": 2.5
},
"unitCostInCurrency": {
"value": 1170
},
"costInCurrency": {
"value": 2925
},
"discountPercent": {
"value": 0
},
"discountAmountInCurrency": {
"value": 0
},
"discountUnitCostInCurrency": {
"value": 0
},
"manualDiscount": {
"value": false
},
"termStartDate": {
"value": "2020-10-20T11:30:40.265Z"
},
"termEndDate": {
"value": "2020-10-20T11:30:40.265Z"
}
},
{
"operation": "Insert",
"lineNumber": {
"value": 2
},
"quantity": {
"value": 11
},
"unitCostInCurrency": {
"value": 135
},
"costInCurrency": {
"value": 1485
},
"discountPercent": {
"value": 0
},
"discountAmountInCurrency": {
"value": 0
},
"discountUnitCostInCurrency": {
"value": 0
},
"manualDiscount": {
"value": false
},
"termStartDate": {
"value": "2020-10-20T11:30:40.265Z"
},
"termEndDate": {
"value": "2020-10-20T11:30:40.265Z"
}
}
]
}
First I tried it in development, which is where i first encountered it.
Then i tried it via Swagger, where I am getting the same error.
We might think it has something to do with the company and the subaccount segments not having a default value set (and we can't set it as the settings window for it won't take us beyond step 2 for some reason), which leads to it not being able to add the supplierinvoice, as these are required when you create a supplierinvoice via the UI.
And since this field can't be set on the supplierinvoice (it is only avaliable for the invoicelines), it probably fails?
Is there some reason why the supplierinvoice heads subaccount and segments aren't accessible via the api?
In that case you should've been received an error "Supplier subaccount can not be empty"
Therefore, can you try creating the same invoice manually in the ERP Financials UI ? Thus, the system highlight the errors if there are any issues with the setup.
I have already created a SupplierInvoice in the ERP Financials UI with the same information, without trouble, the only thing that came up was that subaccounts was empty, and had to be added.
You'd receive the error message shown in the printscreen shared above when you click "Save" in the Invoice when mandatory fields are empty.
Please configure the Supplier's mandatory GL accounts and retry the operation. If you receive an error please specify the HTTP Status code and exception message.
ScreenId=AP303000
Updated the suppliers fields, and tested with a new supplierinvoice and it was added automatically now.
Unfortunately, trying to add it through the API was a no-go, receiving the same problem.
HTTP status code 500 and the following non-descript IPPException message
{
"ExceptionType":"IPPException",
"ExceptionMessage":"",
"ExceptionFaultCode":"5520",
"ExceptionMessageID":"5520_dfc9db76-862b-4d74-a48e-5bf64fccc09e",
"ExceptionDetails":""
}
Have you tried making a request (GET/POST) to another endpoint for the same company to see whether this is Supplier Invoice POST specific ?
Can you please also try to send the following basic POST invoice payload after replacing the references with your own data ? (Supplier Number / Inventory Number)
{
"documentType": {
"value": "Invoice"
},
"hold": {
"value": "false"
},
"date": {
"value": "2020-10-20"
},
"supplierReference": {
"value": "TEST1"
},
"description": {
"value": "Test Basic Invoice"
},
"supplierNumber": {
"value": "50001"
},
"invoiceLines": [{
"operation": "Insert",
"transactionDescription": {
"value": "TEST API"
},
"quantity": {
"value": 2
},
"inventoryNumber": {
"value": "08R5WRQ2R1"
},
"costInCurrency": {
"value": "150"
}
}]
}
I had not actually tried other endpoints for that specific ipp-company-id.
I just did and the error occurs on other endpoints as well, I have tested GET supplierinvoices, customerinvoices and more.
I did check permissions, and I show as having the required permissions for accessing the API for that ipp-company-id.
As we've stated previously, this seems to be related to network issue.
Can you make a GET request to the Context Endpoint and check if the desired company ID returned in the response ?
Copyright © 2022 Visma.com. All rights reserved.