Generate full invoice json for invoice creatinon in Banqup
This commit is contained in:
parent
3a5474b62e
commit
26cdb8d55e
|
@ -7,6 +7,7 @@ to the Banqup API of Unifiedpost.
|
||||||
* Python installed on the machine running this application
|
* Python installed on the machine running this application
|
||||||
* Credentials for accessing an Openbravo 3+ instance running with the REST API enabled
|
* Credentials for accessing an Openbravo 3+ instance running with the REST API enabled
|
||||||
* Credentials for accessing the Banqup API by Unifiedpost
|
* Credentials for accessing the Banqup API by Unifiedpost
|
||||||
|
* Add the businessPartner id to the customer code or client_debtor_number at the Banqup portal
|
||||||
|
|
||||||
**How to run this application**
|
**How to run this application**
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
import requests
|
import requests
|
||||||
|
from requests_oauthlib import OAuth2Session
|
||||||
import json
|
import json
|
||||||
import sys
|
import sys
|
||||||
|
import webbrowser
|
||||||
from config import *
|
from config import *
|
||||||
|
from cachehandler import CacheHandler
|
||||||
|
from authhandler import AuthHandler
|
||||||
|
from api import OpenbravoToBanqupAPI
|
||||||
|
|
||||||
def extract_invoice(document):
|
def extract_invoice(document):
|
||||||
|
|
||||||
|
@ -18,6 +23,27 @@ def extract_invoice(document):
|
||||||
invoice = json.loads(response.text)
|
invoice = json.loads(response.text)
|
||||||
print (invoice['response']['data'][0]['businessPartner'])
|
print (invoice['response']['data'][0]['businessPartner'])
|
||||||
|
|
||||||
|
api = OpenbravoToBanqupAPI(bq_client_id,bq_client_secret)
|
||||||
|
authUrl = api.authHandler.getAuthURL(bq_redirect_uri)
|
||||||
|
webbrowser.open(authUrl)
|
||||||
|
response = input('paste response: ')
|
||||||
|
token = api.authHandler.retrieveToken(response, redirectUri=bq_redirect_uri)
|
||||||
|
print(token)
|
||||||
|
businessPartner=invoice['response']['data'][0]['businessPartner']
|
||||||
|
debtor_list = api.get('debtors?client_id='+banqup_client_id+'&client_debtor_number='+businessPartner,None,None)
|
||||||
|
|
||||||
|
print(debtor_list)
|
||||||
|
print(debtor_list[0])
|
||||||
|
print(debtor_list[1])
|
||||||
|
print(debtor_list[2])
|
||||||
|
print(debtor_list[2]['results'])
|
||||||
|
print(debtor_list[2]['results'][0])
|
||||||
|
print(debtor_list[2]['results'][0]['id'])
|
||||||
|
print(debtor_list[2]['results'][0]['preferred_channel'])
|
||||||
|
|
||||||
|
debtor_id = debtor_list[2]['results'][0]['id']
|
||||||
|
preferred_channel = debtor_list[2]['results'][0]['preferred_channel']
|
||||||
|
|
||||||
url = ob_api_url+"InvoiceLine?_where=invoice='"+invoice['response']['data'][0]['id']+"'&_noActiveFilter=false"
|
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
|
response = requests.request("GET", url, headers=headers, data=payload) #extracts invoice lines
|
||||||
|
@ -45,7 +71,7 @@ def extract_invoice(document):
|
||||||
"sales_invoice_date": invoice['response']['data'][0]['invoiceDate']+"T00:00:00Z",
|
"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"
|
"sales_invoice_due_date": "2023-06-17T00:00:00Z", #needs to be replaced by invoiceDate+"daysTillDue"
|
||||||
"platform_id": banqup_platform_id,
|
"platform_id": banqup_platform_id,
|
||||||
"debtor_id": 136328, #needs to be fetch from database using the "client_debtor_number"
|
"debtor_id": debtor_id,
|
||||||
"currency_code": invoice['response']['data'][0]['currency$_identifier'],
|
"currency_code": invoice['response']['data'][0]['currency$_identifier'],
|
||||||
"client_id": banqup_client_id,
|
"client_id": banqup_client_id,
|
||||||
"delivery_channel": "openpeppol",
|
"delivery_channel": "openpeppol",
|
||||||
|
|
Loading…
Reference in a new issue