FR Energy Bill

The Ruby Client Library supports the Energy Bill API.

📝

Product Specs

SpecificationDetails
Endpoint Nameenergy_bill_fra
Recommended Versionv1.0
Supports Polling/Webhooks✔️ Yes
Support Synchronous HTTP Calls❌ No
Geography🇫🇷 France

🔐

Polling Limitations

SettingParameter nameDefault Value
Initial Delay Before Pollinginitial_delay_seconds2 seconds
Default Delay Between Callsdelay_sec1.5 seconds
Polling Attempts Before Timeoutmax_retries80 retries

Using the sample below,
we are going to illustrate how to extract the data that we want using the Ruby Client Library.
Energy Bill sample

Quick-Start

#
# Install the Ruby client library by running:
# gem install mindee
#

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.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

Output (RST):

########
Document
########
:Mindee ID: 17f0ccef-e3fe-4a28-838d-d704489d6ce7
:Filename: default_sample.pdf

Inference
#########
:Product: mindee/energy_bill_fra v1.0
:Rotation applied: No

Prediction
==========
:Invoice Number: 10123590373
:Contract ID: 1234567890
:Delivery Point: 98765432109876
:Invoice Date: 2021-01-29
:Due Date: 2021-02-15
:Total Before Taxes: 1241.03
:Total Taxes: 238.82
:Total Amount: 1479.85
:Energy Supplier:
  :Address: TSA 12345, 12345 DEMOCITY CEDEX, 75001 PARIS
  :Name: EDF
:Energy Consumer:
  :Address: 12 AVENUE DES RÊVES, RDC A 123 COUR FAUSSE A, 75000 PARIS
  :Name: John Doe
:Subscription:
  +--------------------------------------+------------+------------+----------+-----------+------------+
  | Description                          | End Date   | Start Date | Tax Rate | Total     | Unit Price |
  +======================================+============+============+==========+===========+============+
  | Abonnement électricité               | 2021-02-28 | 2021-01-01 | 5.50     | 59.00     | 29.50      |
  +--------------------------------------+------------+------------+----------+-----------+------------+
:Energy Usage:
  +--------------------------------------+------------+------------+----------+-----------+------------+
  | Description                          | End Date   | Start Date | Tax Rate | Total     | Unit Price |
  +======================================+============+============+==========+===========+============+
  | Consommation (HT)                    | 2021-01-27 | 2020-11-28 | 20.00    | 898.43    | 10.47      |
  +--------------------------------------+------------+------------+----------+-----------+------------+
:Taxes and Contributions:
  +--------------------------------------+------------+------------+----------+-----------+------------+
  | Description                          | End Date   | Start Date | Tax Rate | Total     | Unit Price |
  +======================================+============+============+==========+===========+============+
  | Contribution au Service Public de... | 2021-01-27 | 2020-11-28 | 20.00    | 193.07    | 2.25       |
  +--------------------------------------+------------+------------+----------+-----------+------------+
  | Départementale sur la Conso Final... | 2020-12-31 | 2020-11-28 | 20.00    | 13.98     | 0.3315     |
  +--------------------------------------+------------+------------+----------+-----------+------------+
  | Communale sur la Conso Finale Ele... | 2021-01-27 | 2021-01-01 | 20.00    | 28.56     | 0.6545     |
  +--------------------------------------+------------+------------+----------+-----------+------------+
  | Contribution Tarifaire d'Achemine... | 2020-12-31 | 2020-11-28 | 20.00    | 27.96     | 0.663      |
  +--------------------------------------+------------+------------+----------+-----------+------------+
:Meter Details:
  :Meter Number: 620
  :Meter Type: electricity
  :Unit of Measure: kWh

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, bool): 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 (bool): 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 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 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.

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.

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.

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.
    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.

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.

result.document.inference.prediction.energy_usage do |energy_usage_elem|
  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.

result.document.inference.prediction.subscription do |subscription_elem|
  puts subscription_elem.value
end

Taxes and Contributions

taxes_and_contributions (Array<EnergyBillV1TaxesAndContribution>): Details of Taxes and Contributions.

result.document.inference.prediction.taxes_and_contributions do |taxes_and_contributions_elem|
  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