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.
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 beundefined
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, alwaysundefined
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?
Updated 22 days ago