44from mindee .fields .amount import Amount
55from mindee .fields .locale import Locale
66from mindee .fields .orientation import Orientation
7+ from mindee .fields .payment_details import PaymentDetails
78from mindee .fields .tax import Tax
89from mindee .http import request
910from 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