Skip to content

Commit f55bfca

Browse files
chg: 💥 updated invoice endpoint to v2 and changed Invoice fields
1 parent 3df467d commit f55bfca

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

mindee/documents/invoice.py

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from mindee.fields.amount import Amount
55
from mindee.fields.locale import Locale
66
from mindee.fields.orientation import Orientation
7+
from mindee.fields.payment_details import PaymentDetails
78
from mindee.fields.tax import Tax
89
from mindee.http import request
910
from mindee.benchmark import Benchmark
@@ -59,7 +60,6 @@ def __init__(
5960
self.supplier = None
6061
self.payment_details = None
6162
self.company_number = None
62-
self.vat_number = None
6363
self.orientation = None
6464
self.total_tax = None
6565

@@ -82,7 +82,6 @@ def __init__(
8282
self.invoice_number = Field({"value": invoice_number}, value_key="value", page_n=page_n)
8383
self.payment_details = Field({"value": payment_details}, value_key="value", page_n=page_n)
8484
self.company_number = Field({"value": company_number}, value_key="value", page_n=page_n)
85-
self.vat_number = Field({"value": vat_number}, value_key="value", page_n=page_n)
8685

8786
# Invoke Document constructor
8887
super(Invoice, self).__init__(input_file)
@@ -99,18 +98,27 @@ def build_from_api_prediction(self, api_prediction, page_n=0):
9998
:param page_n: Page number for multi pages pdf input
10099
:return: (void) set the object attributes with api prediction values
101100
"""
102-
self.locale = Locale(api_prediction["locale"], value_key="language", page_n=page_n)
103-
self.total_incl = Amount(api_prediction["total_incl"], page_n=page_n)
104-
self.total_excl = Amount(api_prediction["total_excl"], page_n=page_n)
105-
self.invoice_date = Date(api_prediction["invoice_date"], page_n=page_n)
101+
self.company_number = [
102+
Field(company_reg, extra_fields={"type"}, page_n=page_n) for company_reg in
103+
api_prediction["company_registration"]
104+
]
105+
self.invoice_date = Date(api_prediction["date"], value_key="value", page_n=page_n)
106+
self.due_date = Date(api_prediction["due_date"], value_key="value", page_n=page_n)
106107
self.invoice_number = Field(api_prediction["invoice_number"], page_n=page_n)
107-
self.due_date = Date(api_prediction["due_date"], page_n=page_n)
108-
self.taxes = [Tax(tax_prediction, page_n=page_n) for tax_prediction in api_prediction["taxes"]]
109-
self.supplier = Field(api_prediction["supplier"], page_n=page_n)
110-
self.payment_details = Field(api_prediction["payment_details"], value_key="iban", page_n=page_n)
111-
self.vat_number = Field(api_prediction["tax_id"], page_n=page_n)
112-
self.company_number = Field(api_prediction["company_number"], extra_fields={"type"}, page_n=page_n)
108+
self.locale = Locale(api_prediction["locale"], value_key="language", page_n=page_n)
113109
self.orientation = Orientation(api_prediction["orientation"], page_n=page_n)
110+
self.supplier = Field(api_prediction["supplier"], page_n=page_n)
111+
self.taxes = [
112+
Tax(tax_prediction, page_n=page_n, value_key="value") for tax_prediction in api_prediction["taxes"]
113+
]
114+
self.payment_details = [
115+
PaymentDetails(
116+
payment_detail,
117+
page_n=page_n
118+
) for payment_detail in api_prediction["payment_details"]
119+
]
120+
self.total_incl = Amount(api_prediction["total_incl"], value_key="value", page_n=page_n)
121+
self.total_excl = Amount(api_prediction["total_excl"], value_key="value", page_n=page_n)
114122
self.total_tax = Amount({"value": None, "probability": 0.}, value_key="value", page_n=page_n)
115123

116124
def __str__(self):
@@ -162,7 +170,7 @@ def request(
162170
input_file,
163171
base_url,
164172
invoice_token=None,
165-
version="1",
173+
version="2",
166174
include_words=False
167175
):
168176
"""

0 commit comments

Comments
 (0)