From 1a823807e00817d0c184e7aa406dbd19266c8ba2 Mon Sep 17 00:00:00 2001 From: Enrique Barcelli Date: Wed, 21 Jun 2023 23:31:02 +0800 Subject: [PATCH] Extract invoice, invoice lines and prepare json string for submission to API JSON string for submission is still woring in progress --- extract-invoice.py | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/extract-invoice.py b/extract-invoice.py index 6f6e6ad..02d4219 100644 --- a/extract-invoice.py +++ b/extract-invoice.py @@ -1,14 +1,47 @@ import requests +import json +import sys from config import * -url = ob_api_url+"Invoice?_where=documentNo='1001649'&_noActiveFilter=false" +document = str(sys.argv[1]) + +url = ob_api_url+"Invoice?_where=documentNo='"+document+"'&_noActiveFilter=false" payload = {} headers = { 'Authorization': 'Basic '+userpass_b64 } -response = requests.request("GET", url, headers=headers, data=payload) +response = requests.request("GET", url, headers=headers, data=payload) #extracts invoice header print(response.text) +invoice = json.loads(response.text) +#print (invoice['response']['data'][0]['client']) +url = ob_api_url+"InvoiceLine?_where=invoice='"+invoice['response']['data'][0]['id']+"'&_noActiveFilter=false" + +response = requests.request("GET", url, headers=headers, data=payload) #extracts invoice lines +print(response.text) + + + +payload = json.dumps({ + "sales_invoice_number": invoice['response']['data'][0]['documentNo'], + "sales_invoice_date": invoice['response']['data'][0]['invoiceDate']+"T00:00:00Z", + "sales_invoice_due_date": "2023-06-17T00:00:00Z", #needs to be replaced by invoiceDate+"daysTillDue" + "platform_id": 15, + "debtor_id": 136328, #needs to be fetch from database using the "client_debtor_number" + "currency_code": invoice['response']['data'][0]['currency$_identifier'], + "client_id": 73223, + "delivery_channel": "openpeppol", + "invoice_lines": [ + { + "service_name": "161218", + "service_description": "Cavendish Banana 18.8Kg BOX", + "service_quantity": 10, + "service_price": 1.75, + "service_vat": 8 + } + ] +}) +print(payload)