mindee 2.2.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +2 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +36 -0
- data/README.md +29 -16
- data/bin/mindee.rb +23 -26
- data/docs/code_samples/bank_account_details_v1.txt +10 -5
- data/docs/code_samples/bank_account_details_v2.txt +19 -0
- data/docs/code_samples/bank_check_v1.txt +10 -5
- data/docs/code_samples/carte_vitale_v1.txt +10 -5
- data/docs/code_samples/custom_v1.txt +19 -10
- data/docs/code_samples/default.txt +10 -2
- data/docs/code_samples/expense_receipts_v4.txt +10 -5
- data/docs/code_samples/expense_receipts_v5.txt +11 -6
- data/docs/code_samples/financial_document_v1.txt +10 -5
- data/docs/code_samples/idcard_fr_v1.txt +10 -5
- data/docs/code_samples/invoice_splitter_v1_async.txt +66 -0
- data/docs/code_samples/invoices_v4.txt +10 -5
- data/docs/code_samples/license_plates_v1.txt +10 -5
- data/docs/code_samples/passport_v1.txt +10 -5
- data/docs/code_samples/proof_of_address_v1.txt +10 -5
- data/docs/ruby-api-builder.md +30 -31
- data/docs/ruby-getting-started.md +64 -23
- data/docs/ruby-invoice-ocr.md +70 -59
- data/docs/ruby-passport-ocr.md +49 -40
- data/docs/ruby-receipt-ocr.md +45 -32
- data/lib/mindee/client.rb +150 -148
- data/lib/mindee/geometry/min_max.rb +23 -0
- data/lib/mindee/geometry/point.rb +35 -0
- data/lib/mindee/geometry/polygon.rb +23 -0
- data/lib/mindee/geometry/quadrilateral.rb +45 -0
- data/lib/mindee/geometry/utils.rb +81 -0
- data/lib/mindee/geometry.rb +5 -116
- data/lib/mindee/http/endpoint.rb +123 -16
- data/lib/mindee/http.rb +3 -0
- data/lib/mindee/input/sources.rb +87 -73
- data/lib/mindee/parsing/common/api_response.rb +109 -0
- data/lib/mindee/parsing/common/document.rb +48 -0
- data/lib/mindee/parsing/common/error.rb +24 -0
- data/lib/mindee/parsing/common/inference.rb +43 -0
- data/lib/mindee/parsing/common/ocr/mvision_v1.rb +34 -0
- data/lib/mindee/parsing/common/ocr/ocr.rb +169 -0
- data/lib/mindee/parsing/common/ocr.rb +3 -0
- data/lib/mindee/parsing/common/orientation.rb +26 -0
- data/lib/mindee/parsing/common/page.rb +40 -0
- data/lib/mindee/parsing/common/prediction.rb +15 -0
- data/lib/mindee/parsing/common/product.rb +19 -0
- data/lib/mindee/parsing/common.rb +10 -0
- data/lib/mindee/parsing/custom/classification_field.rb +28 -0
- data/lib/mindee/parsing/custom/list_field.rb +76 -0
- data/lib/mindee/parsing/custom.rb +4 -0
- data/lib/mindee/parsing/standard/amount_field.rb +26 -0
- data/lib/mindee/parsing/standard/base_field.rb +104 -0
- data/lib/mindee/parsing/standard/classification_field.rb +16 -0
- data/lib/mindee/parsing/standard/company_registration_field.rb +21 -0
- data/lib/mindee/parsing/standard/date_field.rb +34 -0
- data/lib/mindee/parsing/standard/locale_field.rb +50 -0
- data/lib/mindee/parsing/standard/payment_details_field.rb +42 -0
- data/lib/mindee/parsing/standard/position_field.rb +44 -0
- data/lib/mindee/parsing/standard/tax_field.rb +108 -0
- data/lib/mindee/parsing/standard/text_field.rb +16 -0
- data/lib/mindee/parsing/standard.rb +12 -0
- data/lib/mindee/parsing.rb +3 -2
- data/lib/mindee/{input → pdf}/pdf_processing.rb +4 -32
- data/lib/mindee/pdf/pdf_tools.rb +34 -0
- data/lib/mindee/pdf.rb +3 -0
- data/lib/mindee/product/.rubocop.yml +5 -0
- data/lib/mindee/product/custom/custom_v1.rb +35 -0
- data/lib/mindee/product/custom/custom_v1_document.rb +60 -0
- data/lib/mindee/product/custom/custom_v1_page.rb +32 -0
- data/lib/mindee/product/eu/license_plate/license_plate_v1.rb +38 -0
- data/lib/mindee/product/eu/license_plate/license_plate_v1_document.rb +37 -0
- data/lib/mindee/product/eu/license_plate/license_plate_v1_page.rb +34 -0
- data/lib/mindee/product/financial_document/financial_document_v1.rb +36 -0
- data/lib/mindee/product/financial_document/financial_document_v1_document.rb +188 -0
- data/lib/mindee/product/financial_document/financial_document_v1_line_item.rb +90 -0
- data/lib/mindee/product/financial_document/financial_document_v1_page.rb +32 -0
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1.rb +38 -0
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_document.rb +43 -0
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_page.rb +34 -0
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2.rb +38 -0
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rb +71 -0
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_document.rb +58 -0
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_page.rb +34 -0
- data/lib/mindee/product/fr/carte_vitale/carte_vitale_v1.rb +38 -0
- data/lib/mindee/product/fr/carte_vitale/carte_vitale_v1_document.rb +52 -0
- data/lib/mindee/product/fr/carte_vitale/carte_vitale_v1_page.rb +34 -0
- data/lib/mindee/product/fr/id_card/id_card_v1.rb +38 -0
- data/lib/mindee/product/fr/id_card/id_card_v1_document.rb +82 -0
- data/lib/mindee/product/fr/id_card/id_card_v1_page.rb +48 -0
- data/lib/mindee/product/invoice/invoice_v4.rb +37 -0
- data/lib/mindee/product/invoice/invoice_v4_document.rb +212 -0
- data/lib/mindee/product/invoice/invoice_v4_line_item.rb +66 -0
- data/lib/mindee/product/invoice/invoice_v4_page.rb +32 -0
- data/lib/mindee/product/invoice_splitter/invoice_splitter_v1.rb +36 -0
- data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_document.rb +65 -0
- data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_page.rb +32 -0
- data/lib/mindee/product/passport/passport_v1.rb +36 -0
- data/lib/mindee/{parsing/prediction/fr/id_card/id_card_v1.rb → product/passport/passport_v1_document.rb} +45 -45
- data/lib/mindee/product/passport/passport_v1_page.rb +32 -0
- data/lib/mindee/product/proof_of_address/proof_of_address_v1.rb +36 -0
- data/lib/mindee/product/proof_of_address/proof_of_address_v1_document.rb +83 -0
- data/lib/mindee/product/proof_of_address/proof_of_address_v1_page.rb +32 -0
- data/lib/mindee/product/receipt/receipt_v4.rb +36 -0
- data/lib/mindee/product/receipt/receipt_v4_document.rb +86 -0
- data/lib/mindee/product/receipt/receipt_v4_page.rb +32 -0
- data/lib/mindee/product/receipt/receipt_v5.rb +36 -0
- data/lib/mindee/product/receipt/receipt_v5_document.rb +138 -0
- data/lib/mindee/product/receipt/receipt_v5_line_item.rb +69 -0
- data/lib/mindee/product/receipt/receipt_v5_page.rb +32 -0
- data/lib/mindee/product/us/bank_check/bank_check_v1.rb +38 -0
- data/lib/mindee/product/us/bank_check/bank_check_v1_document.rb +73 -0
- data/lib/mindee/product/us/bank_check/bank_check_v1_page.rb +34 -0
- data/lib/mindee/product.rb +16 -0
- data/lib/mindee/version.rb +2 -1
- data/lib/mindee.rb +3 -1
- metadata +87 -38
- data/docs/code_samples/shipping_containers_v1.txt +0 -14
- data/lib/mindee/document_config.rb +0 -60
- data/lib/mindee/parsing/document.rb +0 -31
- data/lib/mindee/parsing/error.rb +0 -22
- data/lib/mindee/parsing/inference.rb +0 -53
- data/lib/mindee/parsing/page.rb +0 -46
- data/lib/mindee/parsing/prediction/base.rb +0 -30
- data/lib/mindee/parsing/prediction/common_fields/amount.rb +0 -21
- data/lib/mindee/parsing/prediction/common_fields/base.rb +0 -72
- data/lib/mindee/parsing/prediction/common_fields/company_registration.rb +0 -17
- data/lib/mindee/parsing/prediction/common_fields/date.rb +0 -30
- data/lib/mindee/parsing/prediction/common_fields/locale.rb +0 -45
- data/lib/mindee/parsing/prediction/common_fields/payment_details.rb +0 -33
- data/lib/mindee/parsing/prediction/common_fields/position.rb +0 -39
- data/lib/mindee/parsing/prediction/common_fields/tax.rb +0 -40
- data/lib/mindee/parsing/prediction/common_fields/text.rb +0 -12
- data/lib/mindee/parsing/prediction/common_fields.rb +0 -11
- data/lib/mindee/parsing/prediction/custom/custom_v1.rb +0 -58
- data/lib/mindee/parsing/prediction/custom/fields.rb +0 -91
- data/lib/mindee/parsing/prediction/eu/license_plate/license_plate_v1.rb +0 -34
- data/lib/mindee/parsing/prediction/financial_document/financial_document_v1.rb +0 -237
- data/lib/mindee/parsing/prediction/financial_document/financial_document_v1_line_item.rb +0 -58
- data/lib/mindee/parsing/prediction/fr/bank_account_details/bank_account_details_v1.rb +0 -40
- data/lib/mindee/parsing/prediction/fr/carte_vitale/carte_vitale_v1.rb +0 -49
- data/lib/mindee/parsing/prediction/invoice/invoice_v4.rb +0 -212
- data/lib/mindee/parsing/prediction/invoice/invoice_v4_line_item.rb +0 -58
- data/lib/mindee/parsing/prediction/passport/passport_v1.rb +0 -121
- data/lib/mindee/parsing/prediction/proof_of_address/proof_of_address_v1.rb +0 -80
- data/lib/mindee/parsing/prediction/receipt/receipt_v4.rb +0 -87
- data/lib/mindee/parsing/prediction/receipt/receipt_v5.rb +0 -136
- data/lib/mindee/parsing/prediction/receipt/receipt_v5_line_item.rb +0 -37
- data/lib/mindee/parsing/prediction/shipping_container/shipping_container_v1.rb +0 -38
- data/lib/mindee/parsing/prediction/us/bank_check/bank_check_v1.rb +0 -70
- data/lib/mindee/parsing/prediction.rb +0 -15
data/docs/ruby-passport-ocr.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
The Ruby
|
|
1
|
+
The Ruby OCR SDK supports the [passport API](https://developers.mindee.com/docs/passport-ocr) for extracting data from passports.
|
|
2
2
|
|
|
3
3
|
Using the sample below, we are going to illustrate how to extract the data that we want using the OCR SDK.
|
|
4
4
|
|
|
@@ -6,31 +6,38 @@ Using the sample below, we are going to illustrate how to extract the data that
|
|
|
6
6
|
|
|
7
7
|
## Quick Start
|
|
8
8
|
```ruby
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
# Init a new client, specifying an API key
|
|
9
|
+
# Init a new client
|
|
12
10
|
mindee_client = Mindee::Client.new(api_key: 'my-api-key')
|
|
13
11
|
|
|
14
|
-
#
|
|
15
|
-
|
|
12
|
+
# Load a file from disk
|
|
13
|
+
input_source = mindee_client.source_from_path('/path/to/the/file.ext')
|
|
14
|
+
|
|
15
|
+
# Parse the file
|
|
16
|
+
result = mindee_client.parse(
|
|
17
|
+
input_source,
|
|
18
|
+
Mindee::Product::Passport::PassportV1
|
|
19
|
+
)
|
|
16
20
|
|
|
17
|
-
# Print a summary of the
|
|
18
|
-
puts result.
|
|
21
|
+
# Print a full summary of the parsed data in RST format
|
|
22
|
+
puts result.document
|
|
19
23
|
```
|
|
20
24
|
|
|
21
25
|
Output:
|
|
22
26
|
```
|
|
23
|
-
|
|
24
|
-
:
|
|
25
|
-
:
|
|
26
|
-
:
|
|
27
|
-
:
|
|
28
|
-
:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
----- Passport V1 -----
|
|
28
|
+
Filename:
|
|
29
|
+
Full name: HENERT PUDARSAN
|
|
30
|
+
Given names: HENERT
|
|
31
|
+
Surname: PUDARSAN
|
|
32
|
+
Country: GBR
|
|
33
|
+
ID Number: 707797979
|
|
34
|
+
Issuance date: 2012-04-22
|
|
35
|
+
Birth date: 1995-05-20
|
|
36
|
+
Expiry date: 2057-04-22
|
|
37
|
+
MRZ 1: P<GBRPUDARSAN<<HENERT<<<<<<<<<<<<<<<<<<<<<<<
|
|
38
|
+
MRZ 2: 7077979792GBR9505209M1704224<<<<<<<<<<<<<<00
|
|
39
|
+
MRZ: P<GBRPUDARSAN<<HENERT<<<<<<<<<<<<<<<<<<<<<<<7077979792GBR9505209M1704224<<<<<<<<<<<<<<00
|
|
40
|
+
----------------------
|
|
34
41
|
```
|
|
35
42
|
|
|
36
43
|
## Fields
|
|
@@ -49,29 +56,31 @@ Depending on the field type specified, additional attributes can be extracted fr
|
|
|
49
56
|
|
|
50
57
|
Using the above sample, the following are the basic fields that can be extracted:
|
|
51
58
|
|
|
52
|
-
- [
|
|
53
|
-
- [
|
|
54
|
-
- [
|
|
55
|
-
- [
|
|
56
|
-
- [
|
|
57
|
-
- [
|
|
58
|
-
- [
|
|
59
|
-
- [
|
|
60
|
-
- [
|
|
59
|
+
- [Quick Start](#quick-start)
|
|
60
|
+
- [Fields](#fields)
|
|
61
|
+
- [Attributes](#attributes)
|
|
62
|
+
- [Birth Place](#birth-place)
|
|
63
|
+
- [Country](#country)
|
|
64
|
+
- [Dates](#dates)
|
|
65
|
+
- [Gender](#gender)
|
|
66
|
+
- [Names](#names)
|
|
67
|
+
- [ID](#id)
|
|
68
|
+
- [Machine-Readable Zone](#machine-readable-zone)
|
|
69
|
+
- [Questions?](#questions)
|
|
61
70
|
|
|
62
71
|
### Birth Place
|
|
63
72
|
|
|
64
73
|
**`birth_place`** (Field): Passport owner birthplace.
|
|
65
74
|
|
|
66
75
|
```ruby
|
|
67
|
-
puts result.inference.prediction.birth_place.value
|
|
76
|
+
puts result.document.inference.prediction.birth_place.value
|
|
68
77
|
```
|
|
69
78
|
|
|
70
79
|
### Country
|
|
71
80
|
**`country`** (Field): Passport country in [ISO 3166-1 alpha-3 code format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) (3-letter code).
|
|
72
81
|
|
|
73
82
|
```ruby
|
|
74
|
-
puts result.inference.prediction.country.value
|
|
83
|
+
puts result.document.inference.prediction.country.value
|
|
75
84
|
```
|
|
76
85
|
|
|
77
86
|
### Dates
|
|
@@ -85,19 +94,19 @@ The following date fields are available:
|
|
|
85
94
|
**`expiry_date`**: Passport expiry date.
|
|
86
95
|
|
|
87
96
|
```ruby
|
|
88
|
-
puts result.inference.prediction.expiry_date.value
|
|
97
|
+
puts result.document.inference.prediction.expiry_date.value
|
|
89
98
|
```
|
|
90
99
|
|
|
91
100
|
**`issuance_date`**: Passport date of issuance.
|
|
92
101
|
|
|
93
102
|
```ruby
|
|
94
|
-
puts result.inference.prediction.issuance_date.value
|
|
103
|
+
puts result.document.inference.prediction.issuance_date.value
|
|
95
104
|
```
|
|
96
105
|
|
|
97
106
|
**`birth_date`**: Passport's owner date of birth.
|
|
98
107
|
|
|
99
108
|
```ruby
|
|
100
|
-
puts result.inference.prediction.birth_date.value
|
|
109
|
+
puts result.document.inference.prediction.birth_date.value
|
|
101
110
|
```
|
|
102
111
|
|
|
103
112
|
### Gender
|
|
@@ -105,7 +114,7 @@ puts result.inference.prediction.birth_date.value
|
|
|
105
114
|
**`gender`** (Field): Passport owner's gender (M / F).
|
|
106
115
|
|
|
107
116
|
```ruby
|
|
108
|
-
puts result.inference.prediction.gender.value
|
|
117
|
+
puts result.document.inference.prediction.gender.value
|
|
109
118
|
```
|
|
110
119
|
|
|
111
120
|
### Names
|
|
@@ -113,7 +122,7 @@ puts result.inference.prediction.gender.value
|
|
|
113
122
|
**`given_names`** (Array< Field >): List of passport owner's given names.
|
|
114
123
|
|
|
115
124
|
```ruby
|
|
116
|
-
result.inference.prediction.given_names.each do |name|
|
|
125
|
+
result.document.inference.prediction.given_names.each do |name|
|
|
117
126
|
puts name
|
|
118
127
|
end
|
|
119
128
|
```
|
|
@@ -121,7 +130,7 @@ end
|
|
|
121
130
|
**`surname`** (Field): Passport's owner surname.
|
|
122
131
|
|
|
123
132
|
```ruby
|
|
124
|
-
puts result.inference.prediction.surname.value
|
|
133
|
+
puts result.document.inference.prediction.surname.value
|
|
125
134
|
```
|
|
126
135
|
|
|
127
136
|
### ID
|
|
@@ -129,7 +138,7 @@ puts result.inference.prediction.surname.value
|
|
|
129
138
|
**`id_number`** (Field): Passport identification number.
|
|
130
139
|
|
|
131
140
|
```ruby
|
|
132
|
-
puts result.inference.prediction.id_number.value
|
|
141
|
+
puts result.document.inference.prediction.id_number.value
|
|
133
142
|
```
|
|
134
143
|
|
|
135
144
|
### Machine-Readable Zone
|
|
@@ -137,19 +146,19 @@ puts result.inference.prediction.id_number.value
|
|
|
137
146
|
**`mrz1`** (Field): Passport first line of machine-readable zone.
|
|
138
147
|
|
|
139
148
|
```ruby
|
|
140
|
-
puts result.inference.prediction.mrz1.value
|
|
149
|
+
puts result.document.inference.prediction.mrz1.value
|
|
141
150
|
```
|
|
142
151
|
|
|
143
152
|
**`mrz2`** (Field): Passport second line of machine-readable zone.
|
|
144
153
|
|
|
145
154
|
```ruby
|
|
146
|
-
puts result.inference.prediction.mrz2.value
|
|
155
|
+
puts result.document.inference.prediction.mrz2.value
|
|
147
156
|
```
|
|
148
157
|
|
|
149
158
|
**`mrz`** (Field): Reconstructed passport full machine-readable zone from mrz1 and mrz2.
|
|
150
159
|
|
|
151
160
|
```ruby
|
|
152
|
-
puts result.inference.prediction.mrz.value
|
|
161
|
+
puts result.document.inference.prediction.mrz.value
|
|
153
162
|
```
|
|
154
163
|
|
|
155
164
|
## Questions?
|
data/docs/ruby-receipt-ocr.md
CHANGED
|
@@ -8,22 +8,27 @@ Using this sample below, we are going to illustrate how to extract the data that
|
|
|
8
8
|
```ruby
|
|
9
9
|
require 'mindee'
|
|
10
10
|
|
|
11
|
-
# Init a new client
|
|
11
|
+
# Init a new client
|
|
12
12
|
mindee_client = Mindee::Client.new(api_key: 'my-api-key')
|
|
13
13
|
|
|
14
|
-
# Load a file from disk
|
|
15
|
-
|
|
16
|
-
.parse(Mindee::Prediction::ReceiptV5)
|
|
14
|
+
# Load a file from disk
|
|
15
|
+
input_source = mindee_client.source_from_path('/path/to/the/file.ext')
|
|
17
16
|
|
|
18
|
-
#
|
|
19
|
-
|
|
17
|
+
# Parse the file
|
|
18
|
+
result = mindee_client.parse(
|
|
19
|
+
input_source,
|
|
20
|
+
Mindee::Product::Receipt::ReceiptV5
|
|
21
|
+
)
|
|
20
22
|
|
|
21
|
-
# Print the
|
|
22
|
-
puts result.
|
|
23
|
+
# Print a full summary of the parsed data in RST format
|
|
24
|
+
puts result.document
|
|
23
25
|
```
|
|
24
26
|
|
|
25
27
|
Output:
|
|
26
28
|
```
|
|
29
|
+
Receipt V5 Prediction
|
|
30
|
+
=====================
|
|
31
|
+
:Filename:
|
|
27
32
|
:Expense Locale: en-GB; en; GB; GBP;
|
|
28
33
|
:Expense Category: food
|
|
29
34
|
:Expense Sub Category: restaurant
|
|
@@ -34,17 +39,21 @@ Output:
|
|
|
34
39
|
:Total Excluding Taxes: 8.50
|
|
35
40
|
:Total Tax: 1.70
|
|
36
41
|
:Tip and Gratuity:
|
|
37
|
-
:Taxes:
|
|
42
|
+
:Taxes:
|
|
43
|
+
+---------------+--------+----------+---------------+
|
|
44
|
+
| Base | Code | Rate (%) | Amount |
|
|
45
|
+
+===============+========+==========+===============+
|
|
46
|
+
| 8.50 | VAT | 20.00 | 1.70 |
|
|
47
|
+
+---------------+--------+----------+---------------+
|
|
38
48
|
:Supplier Name: CLACHAN
|
|
39
49
|
:Supplier Company Registrations: 232153895
|
|
40
|
-
232153895
|
|
41
50
|
:Supplier Address: 34 kingley street w1b 5qh
|
|
42
51
|
:Supplier Phone Number: 02074940834
|
|
43
52
|
:Line Items:
|
|
44
53
|
+--------------------------------------+----------+--------------+------------+
|
|
45
54
|
| Description | Quantity | Total Amount | Unit Price |
|
|
46
55
|
+======================================+==========+==============+============+
|
|
47
|
-
|
|
|
56
|
+
| meantime pale | 2.00 | 10.20 | |
|
|
48
57
|
+--------------------------------------+----------+--------------+------------+
|
|
49
58
|
```
|
|
50
59
|
|
|
@@ -64,13 +73,17 @@ Depending on the field type specified, additional attributes can be extracted in
|
|
|
64
73
|
|
|
65
74
|
Using the above sample, the following are the basic fields that can be extracted:
|
|
66
75
|
|
|
67
|
-
- [
|
|
68
|
-
- [
|
|
69
|
-
- [
|
|
70
|
-
- [
|
|
71
|
-
- [
|
|
72
|
-
- [
|
|
73
|
-
- [
|
|
76
|
+
- [Quick Start](#quick-start)
|
|
77
|
+
- [Fields](#fields)
|
|
78
|
+
- [Attributes](#attributes)
|
|
79
|
+
- [Category](#category)
|
|
80
|
+
- [Date](#date)
|
|
81
|
+
- [Locale](#locale)
|
|
82
|
+
- [Supplier Information](#supplier-information)
|
|
83
|
+
- [Taxes](#taxes)
|
|
84
|
+
- [Time](#time)
|
|
85
|
+
- [Totals](#totals)
|
|
86
|
+
- [Questions?](#questions)
|
|
74
87
|
|
|
75
88
|
|
|
76
89
|
### Category
|
|
@@ -78,7 +91,7 @@ Using the above sample, the following are the basic fields that can be extracted
|
|
|
78
91
|
The following categories are supported: toll, food, parking, transport, accommodation, gasoline, miscellaneous.
|
|
79
92
|
|
|
80
93
|
```ruby
|
|
81
|
-
puts result.inference.prediction.category.value
|
|
94
|
+
puts result.document.inference.prediction.category.value
|
|
82
95
|
```
|
|
83
96
|
|
|
84
97
|
|
|
@@ -93,7 +106,7 @@ The following date fields are available:
|
|
|
93
106
|
* **`date`**: Date the receipt was issued
|
|
94
107
|
|
|
95
108
|
```ruby
|
|
96
|
-
puts result.inference.prediction.date.value
|
|
109
|
+
puts result.document.inference.prediction.date.value
|
|
97
110
|
```
|
|
98
111
|
|
|
99
112
|
|
|
@@ -102,32 +115,32 @@ puts result.inference.prediction.date.value
|
|
|
102
115
|
|
|
103
116
|
* `locale.value` (String): Locale with country and language codes.
|
|
104
117
|
```ruby
|
|
105
|
-
puts result.inference.prediction.locale
|
|
118
|
+
puts result.document.inference.prediction.locale
|
|
106
119
|
```
|
|
107
120
|
|
|
108
121
|
* `locale.language` (String): Language code in [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) format as seen on the document.
|
|
109
122
|
*
|
|
110
123
|
```ruby
|
|
111
|
-
puts result.inference.prediction.locale.language
|
|
124
|
+
puts result.document.inference.prediction.locale.language
|
|
112
125
|
```
|
|
113
126
|
|
|
114
127
|
* `locale.currency` (String): Currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format as seen on the document.
|
|
115
128
|
|
|
116
129
|
```ruby
|
|
117
|
-
puts result.inference.prediction.locale.currency
|
|
130
|
+
puts result.document.inference.prediction.locale.currency
|
|
118
131
|
```
|
|
119
132
|
|
|
120
133
|
* `locale.country` (String): Country code in [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) alpha-2 format as seen on the document.
|
|
121
134
|
|
|
122
135
|
```ruby
|
|
123
|
-
puts result.inference.prediction.locale.country
|
|
136
|
+
puts result.document.inference.prediction.locale.country
|
|
124
137
|
```
|
|
125
138
|
|
|
126
139
|
### Supplier Information
|
|
127
140
|
* **`supplier_name`** (Field): Supplier name as written in the receipt.
|
|
128
141
|
|
|
129
142
|
```ruby
|
|
130
|
-
puts result.inference.prediction.supplier_name.value
|
|
143
|
+
puts result.document.inference.prediction.supplier_name.value
|
|
131
144
|
```
|
|
132
145
|
|
|
133
146
|
|
|
@@ -137,19 +150,19 @@ puts result.inference.prediction.supplier_name.value
|
|
|
137
150
|
* `value` (Float): The tax amount.
|
|
138
151
|
```ruby
|
|
139
152
|
# Show the amount of the first tax
|
|
140
|
-
puts result.inference.prediction.taxes[0].value
|
|
153
|
+
puts result.document.inference.prediction.taxes[0].value
|
|
141
154
|
```
|
|
142
155
|
|
|
143
156
|
* `code` (String): The tax code (HST, GST... for Canadian; City Tax, State tax for US, etc..).
|
|
144
157
|
```ruby
|
|
145
158
|
# Show the code of the first tax
|
|
146
|
-
puts result.inference.prediction.taxes[0].code
|
|
159
|
+
puts result.document.inference.prediction.taxes[0].code
|
|
147
160
|
```
|
|
148
161
|
|
|
149
162
|
* `rate` (Float): The tax rate.
|
|
150
163
|
```ruby
|
|
151
164
|
# Show the rate of the first tax
|
|
152
|
-
puts result.inference.prediction.taxes[0].rate
|
|
165
|
+
puts result.document.inference.prediction.taxes[0].rate
|
|
153
166
|
```
|
|
154
167
|
|
|
155
168
|
### Time
|
|
@@ -157,26 +170,26 @@ puts result.inference.prediction.taxes[0].rate
|
|
|
157
170
|
* `value` (string): Time of purchase with 24 hours formatting (hh:mm).
|
|
158
171
|
|
|
159
172
|
```ruby
|
|
160
|
-
puts result.inference.prediction.time.value
|
|
173
|
+
puts result.document.inference.prediction.time.value
|
|
161
174
|
```
|
|
162
175
|
|
|
163
176
|
### Totals
|
|
164
177
|
* **`total_amount`** (Field): Total amount including taxes
|
|
165
178
|
|
|
166
179
|
```ruby
|
|
167
|
-
puts result.inference.prediction.total_amount.value
|
|
180
|
+
puts result.document.inference.prediction.total_amount.value
|
|
168
181
|
```
|
|
169
182
|
|
|
170
183
|
* **`total_net`** (Field): Total amount paid excluding taxes
|
|
171
184
|
|
|
172
185
|
```ruby
|
|
173
|
-
puts result.inference.prediction.total_net.value
|
|
186
|
+
puts result.document.inference.prediction.total_net.value
|
|
174
187
|
```
|
|
175
188
|
|
|
176
189
|
* **`total_tax`** (Field): Total tax value from tax lines
|
|
177
190
|
|
|
178
191
|
```ruby
|
|
179
|
-
puts result.inference.prediction.total_tax.value
|
|
192
|
+
puts result.document.inference.prediction.total_tax.value
|
|
180
193
|
```
|
|
181
194
|
|
|
182
195
|
## Questions?
|