FR Energy Bill OCR Ruby

The Ruby OCR SDK supports the Energy Bill API.

The sample below can be used for testing purposes.
Energy Bill sample

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 be nil 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, always nil 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?

Join our Slack