Invoice Splitter

The .NET SDK supports the Mindee V1 Invoice Splitter API.

Product Specifications

Specification
Details

Endpoint Name

invoice_splitter

Recommended Version

v1.4

Supports Polling/Webhooks

✔️ Yes

Support Synchronous HTTP Calls

❌ No

Geography

🌐 Global

Quick-Start

Using the sample below, we are going to illustrate how to extract the data that we want using the SDK.

Invoice Splitter Sample

Sample Code

using Mindee;
using Mindee.Input;
using Mindee.Product.InvoiceSplitter;

string apiKey = "my-api-key";
string filePath = "/path/to/the/file.ext";

// Construct a new client
MindeeClient mindeeClient = new MindeeClient(apiKey);

// Load an input source as a path string
// Other input types can be used, as mentioned in the docs
var inputSource = new LocalInputSource(filePath);

// Call the product asynchronously with auto-polling
var response = await mindeeClient
    .EnqueueAndParseAsync<InvoiceSplitterV1>(inputSource);

// Print a summary of all the predictions
System.Console.WriteLine(response.Document.ToString());

// Print only the document-level predictions
// System.Console.WriteLine(response.Document.Inference.Prediction.ToString());

Sample Output (rST)

########
Document
########
:Mindee ID: 15ad7a19-7b75-43d0-b0c6-9a641a12b49b
:Filename: default_sample.pdf

Inference
#########
:Product: mindee/invoice_splitter v1.2
:Rotation applied: No

Prediction
==========
:Invoice Page Groups:
  +--------------------------------------------------------------------------+
  | Page Indexes                                                             |
  +==========================================================================+
  | 0                                                                        |
  +--------------------------------------------------------------------------+
  | 1                                                                        |
  +--------------------------------------------------------------------------+

Standard Fields

These fields are generic and used in several products.

BaseField

Each prediction object contains a set of fields that inherit from the generic BaseField class. A typical BaseField object will have the following attributes:

  • Confidence (double?): the confidence score of the field prediction.

  • BoundingBox (BoundingBox): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document.

  • Polygon (Polygon): contains the relative vertices coordinates (Polygon extends List<Point>) of a polygon containing the field in the image.

  • PageId (int?): the ID of the page, always null when at document-level.

A Point simply refers to a List of double.

Aside from the previous attributes, all basic fields have access to a custom ToString method that can be used to print their value as a string.

Specific Fields

Fields which are specific to this product; they are not used in any other product.

Invoice Page Groups Field

List of page groups. Each group represents a single invoice within a multi-invoice document.

A InvoiceSplitterV1InvoicePageGroup implements the following attributes:

  • PageIndexes (List<int>): List of page indexes that belong to the same invoice (group).

Attributes

The following fields are extracted for Invoice Splitter V1:

Invoice Page Groups

InvoicePageGroups(List<InvoiceSplitterV1InvoicePageGroup>): List of page groups. Each group represents a single invoice within a multi-invoice document.

foreach (var InvoicePageGroupsElem in result.Document.Inference.Prediction.InvoicePageGroups)
{
    System.Console.WriteLine(InvoicePageGroupsElem.Value);
}

Last updated

Was this helpful?