FR Energy Bill OCR Node.js

The Node.js OCR SDK supports the Energy Bill API.

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

Quick-Start

const mindee = require("mindee");
// for TS or modules:
// import * as mindee from "mindee";

// Init a new client
const mindeeClient = new mindee.Client({ apiKey: "my-api-key" });

// Load a file from disk
const inputSource = mindeeClient.docFromPath("/path/to/the/file.ext");

// Parse the file
const apiResponse = mindeeClient.enqueueAndParse(
  mindee.product.fr.EnergyBillV1,
  inputSource
);

// Handle the response Promise
apiResponse.then((resp) => {
  // print a string summary
  console.log(resp.document.toString());
});

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 (number | string): corresponds to the field value. Can be undefined if no value was extracted.
  • confidence (number): the confidence score of the field prediction.
  • boundingBox ([Point, Point, Point, Point]): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document.
  • polygon (Point[]): contains the relative vertices coordinates (Point) of a polygon containing the field in the image.
  • pageId (number): the ID of the page, always undefined when at document-level.
  • reconstructed (boolean): indicates whether an object was reconstructed (not extracted as the API gave it).

Note: A Point simply refers to an array of two numbers ([number, number]).

Aside from the previous attributes, all basic fields have access to a toString() 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 number (or undefined).

Date Field

Aside from the basic Field attributes, the date field DateField also implements the following:

  • dateObject (Date): an accessible representation of the value as a JavaScript object.

String Field

The text field StringField only has one constraint: its value is a string (or undefined).

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.
  • endDate (string): The end date of the energy usage.
  • startDate (string): The start date of the energy usage.
  • taxRate (number): The rate of tax applied to the total cost.
  • total (number): The total cost of energy consumed.
  • unitPrice (number): 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:

  • meterNumber (string): The unique identifier of the energy meter.
  • meterType (string): The type of energy meter.

Possible values include:

  • electricity
  • gas
  • water
  • null
  • 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.
  • endDate (string): The end date of the subscription.
  • startDate (string): The start date of the subscription.
  • taxRate (number): The rate of tax applied to the total cost.
  • total (number): The total cost of subscription.
  • unitPrice (number): 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.
  • endDate (string): The end date of the Taxes and Contributions.
  • startDate (string): The start date of the Taxes and Contributions.
  • taxRate (number): The rate of tax applied to the total cost.
  • total (number): The total cost of Taxes and Contributions.
  • unitPrice (number): The price per unit of Taxes and Contributions.

Attributes

The following fields are extracted for Energy Bill V1:

Contract ID

contractId (StringField): The unique identifier associated with a specific contract.

console.log(result.document.inference.prediction.contractId.value);

Delivery Point

deliveryPoint (StringField): The unique identifier assigned to each electricity or gas consumption point. It specifies the exact location where the energy is delivered.

console.log(result.document.inference.prediction.deliveryPoint.value);

Due Date

dueDate (DateField): The date by which the payment for the energy invoice is due.

console.log(result.document.inference.prediction.dueDate.value);

Energy Consumer

energyConsumer (EnergyBillV1EnergyConsumer): The entity that consumes the energy.

console.log(result.document.inference.prediction.energyConsumer.value);

Energy Supplier

energySupplier (EnergyBillV1EnergySupplier): The company that supplies the energy.

console.log(result.document.inference.prediction.energySupplier.value);

Energy Usage

energyUsage (EnergyBillV1EnergyUsage[]): Details of energy consumption.

for (const energyUsageElem of result.document.inference.prediction.energyUsage) {
  console.log(energyUsageElem.value);
}

Invoice Date

invoiceDate (DateField): The date when the energy invoice was issued.

console.log(result.document.inference.prediction.invoiceDate.value);

Invoice Number

invoiceNumber (StringField): The unique identifier of the energy invoice.

console.log(result.document.inference.prediction.invoiceNumber.value);

Meter Details

meterDetails (EnergyBillV1MeterDetail): Information about the energy meter.

console.log(result.document.inference.prediction.meterDetails.value);

Subscription

subscription (EnergyBillV1Subscription[]): The subscription details fee for the energy service.

for (const subscriptionElem of result.document.inference.prediction.subscription) {
  console.log(subscriptionElem.value);
}

Taxes and Contributions

taxesAndContributions (EnergyBillV1TaxesAndContribution[]): Details of Taxes and Contributions.

for (const taxesAndContributionsElem of result.document.inference.prediction.taxesAndContributions) {
  console.log(taxesAndContributionsElem.value);
}

Total Amount

totalAmount (AmountField): The total amount to be paid for the energy invoice.

console.log(result.document.inference.prediction.totalAmount.value);

Total Before Taxes

totalBeforeTaxes (AmountField): The total amount to be paid for the energy invoice before taxes.

console.log(result.document.inference.prediction.totalBeforeTaxes.value);

Total Taxes

totalTaxes (AmountField): Total of taxes applied to the invoice.

console.log(result.document.inference.prediction.totalTaxes.value);

Questions?

Join our Slack