FR Energy Bill OCR Ruby
The Ruby OCR SDK supports the Energy Bill API.
The sample below can be used for testing purposes.
Quick-Start
require 'mindee'
# Init a new client
mindee_client = Mindee::Client.new(api_key: 'my-api-key')
# Load a file from disk
input_source = mindee_client.source_from_path('/path/to/the/file.ext')
# Parse the file
result = mindee_client.enqueue_and_parse(
input_source,
Mindee::Product::FR::EnergyBill::EnergyBillV1
)
# Print a full summary of the parsed data in RST format
puts result.document
# Print the document-level parsed data
# puts result.document.inference.prediction
Field Types
Standard Fields
These fields are generic and used in several products.
Basic Field
Each prediction object contains a set of fields that inherit from the generic Field
class.
A typical Field
object will have the following attributes:
- value (
String
,Float
,Integer
,Boolean
): corresponds to the field value. Can benil
if no value was extracted. - confidence (Float, nil): the confidence score of the field prediction.
- bounding_box (
Mindee::Geometry::Quadrilateral
,nil
): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document. - polygon (
Mindee::Geometry::Polygon
,nil
): contains the relative vertices coordinates (Point
) of a polygon containing the field in the image. - page_id (
Integer
,nil
): the ID of the page, alwaysnil
when at document-level. - reconstructed (
Boolean
): indicates whether an object was reconstructed (not extracted as the API gave it).
Aside from the previous attributes, all basic fields have access to a to_s
method that can be used to print their value as a string.
Amount Field
The amount field AmountField
only has one constraint: its value is a Float
(or nil
).
Date Field
Aside from the basic Field
attributes, the date field DateField
also implements the following:
- date_object (
Date
): an accessible representation of the value as a JavaScript object.
String Field
The text field StringField
only has one constraint: it's value is a String
(or nil
).
Specific Fields
Fields which are specific to this product; they are not used in any other product.
Energy Consumer Field
The entity that consumes the energy.
A EnergyBillV1EnergyConsumer
implements the following attributes:
address
(String): The address of the energy consumer.name
(String): The name of the energy consumer.
Fields which are specific to this product; they are not used in any other product.
Energy Supplier Field
The company that supplies the energy.
A EnergyBillV1EnergySupplier
implements the following attributes:
address
(String): The address of the energy supplier.name
(String): The name of the energy supplier.
Fields which are specific to this product; they are not used in any other product.
Energy Usage Field
Details of energy consumption.
A EnergyBillV1EnergyUsage
implements the following attributes:
description
(String): Description or details of the energy usage.end_date
(String): The end date of the energy usage.start_date
(String): The start date of the energy usage.tax_rate
(Float): The rate of tax applied to the total cost.total
(Float): The total cost of energy consumed.unit_price
(Float): The price per unit of energy consumed.
Fields which are specific to this product; they are not used in any other product.
Meter Details Field
Information about the energy meter.
A EnergyBillV1MeterDetail
implements the following attributes:
meter_number
(String): The unique identifier of the energy meter.meter_type
(String): The type of energy meter.
Possible values include:
- electricity
- gas
- water
- None
unit
(String): The unit of measurement for energy consumption, which can be kW, m³, or L.
Fields which are specific to this product; they are not used in any other product.
Subscription Field
The subscription details fee for the energy service.
A EnergyBillV1Subscription
implements the following attributes:
description
(String): Description or details of the subscription.end_date
(String): The end date of the subscription.start_date
(String): The start date of the subscription.tax_rate
(Float): The rate of tax applied to the total cost.total
(Float): The total cost of subscription.unit_price
(Float): The price per unit of subscription.
Fields which are specific to this product; they are not used in any other product.
Taxes and Contributions Field
Details of Taxes and Contributions.
A EnergyBillV1TaxesAndContribution
implements the following attributes:
description
(String): Description or details of the Taxes and Contributions.end_date
(String): The end date of the Taxes and Contributions.start_date
(String): The start date of the Taxes and Contributions.tax_rate
(Float): The rate of tax applied to the total cost.total
(Float): The total cost of Taxes and Contributions.unit_price
(Float): The price per unit of Taxes and Contributions.
Attributes
The following fields are extracted for Energy Bill V1:
Contract ID
contract_id (StringField): The unique identifier associated with a specific contract.
puts result.document.inference.prediction.contract_id.value
Delivery Point
delivery_point (StringField): The unique identifier assigned to each electricity or gas consumption point. It specifies the exact location where the energy is delivered.
puts result.document.inference.prediction.delivery_point.value
Due Date
due_date (DateField): The date by which the payment for the energy invoice is due.
puts result.document.inference.prediction.due_date.value
Energy Consumer
energy_consumer (EnergyBillV1EnergyConsumer): The entity that consumes the energy.
puts result.document.inference.prediction.energy_consumer.value
Energy Supplier
energy_supplier (EnergyBillV1EnergySupplier): The company that supplies the energy.
puts result.document.inference.prediction.energy_supplier.value
Energy Usage
energy_usage (Array<EnergyBillV1EnergyUsage>): Details of energy consumption.
for energy_usage_elem in result.document.inference.prediction.energy_usage do
puts energy_usage_elem.value
end
Invoice Date
invoice_date (DateField): The date when the energy invoice was issued.
puts result.document.inference.prediction.invoice_date.value
Invoice Number
invoice_number (StringField): The unique identifier of the energy invoice.
puts result.document.inference.prediction.invoice_number.value
Meter Details
meter_details (EnergyBillV1MeterDetail): Information about the energy meter.
puts result.document.inference.prediction.meter_details.value
Subscription
subscription (Array<EnergyBillV1Subscription>): The subscription details fee for the energy service.
for subscription_elem in result.document.inference.prediction.subscription do
puts subscription_elem.value
end
Taxes and Contributions
taxes_and_contributions (Array<EnergyBillV1TaxesAndContribution>): Details of Taxes and Contributions.
for taxes_and_contributions_elem in result.document.inference.prediction.taxes_and_contributions do
puts taxes_and_contributions_elem.value
end
Total Amount
total_amount (AmountField): The total amount to be paid for the energy invoice.
puts result.document.inference.prediction.total_amount.value
Total Before Taxes
total_before_taxes (AmountField): The total amount to be paid for the energy invoice before taxes.
puts result.document.inference.prediction.total_before_taxes.value
Total Taxes
total_taxes (AmountField): Total of taxes applied to the invoice.
puts result.document.inference.prediction.total_taxes.value
Questions?
Updated 22 days ago