Data Extraction
Docutains Data Extraction/ Data Capture SDK for Cordova can extract document data based on the detected text.
Initialization
Initialize the Docutain Cordova Scanner SDK as described here and make sure you have followed the Getting started guide.
Set Analyze Configuration
If you do not need to analyze for BIC
, PaymentState
or SEPACreditor
, you can skip this section and jump directly to Get the detected data.
If you want to analyze for BIC
, PaymentState
or SEPACreditor
, you need to set the analyze configuration accordingly.
This needs to be done before the scan process is started. The best place to do this is right after initializing the SDK.
- Promisify
- Callback
// ...
// Initialize the SDK first, then set the Analyze Configuration
// ...
try{
const analyzeConfig = {
readBIC: true,
readPaymentState: true,
readSEPACreditor: true
}
await DocutainSDKPromisify.setAnalyzeConfiguration(analyzeConfig);
} catch (error) {
//setAnalyzeConfiguration of Docutain SDK failed, get the last error message
console.error(error);
}
// ...
// Initialize the SDK first, then set the Analyze Configuration
// ...
const analyzeConfig = {
readBIC: true,
readPaymentState: true,
readSEPACreditor: true
}
DocutainSDK.setAnalyzeConfiguration(analyzeConfig,function(){
}, error);
Get the detected data
In order to get the detected data of the scanned or imported document, call the following line of code:
- Promisify
- Callback
//...
//scan or import file
//...
try{
const analyzeData = await DocutainSDKPromisify.analyze();
}catch (error) {
console.error(error);
}
//...
//scan or import file
//...
DocutainSDK.analyze(funtion(analyzeData){
}, error);
The detected data will be returned as JSON
string. Depending on how you configured your AnalyzeConfiguration
, the structure will be one of the two following. The differences will be in IBAN, Bank, PaymentState and SEPACreditor.
When reading BIC
is deactivated (default behaviour), you will get a value IBAN
which contains all detected IBANs:
{
"Address":
{
"Name1": "Verbandsgemeindeverwaltung Nastätten",
"Name2": "",
"Name3": "",
"Zipcode": "56352",
"City": "Nastätten",
"Street": "Postfach",
"Phone": "06772 802 0",
"CustomerId": "",
"IBAN": ["DE76570928000208303503", "DE41510500150710030316"]
},
"Date": "2020-01-24",
"Amount": "940.84",
"InvoiceId": "20/VA06894/0009500",
"Reference": "RNr:20/VA06894/0009500 vom 24.01.2020"
}
When reading BIC
is activated, you will get a value Bank
which contains tuples of the BIC
and the IBAN
, if any detected:
{
"Address":
{
"Name1": "Verbandsgemeindeverwaltung Nastätten",
"Name2": "",
"Name3": "",
"Zipcode": "56352",
"City": "Nastätten",
"Street": "Postfach",
"Phone": "06772 802 0",
"CustomerId": "",
"Bank": [{"BIC": "GENODE51DIE",
"IBAN": "DE76570928000208303503"},
{"BIC": "NASSDE55XXX",
"IBAN": "DE41510500150710030316"}]
},
"Date": "2020-01-24",
"Amount": "940.84",
"InvoiceId": "20/VA06894/0009500",
"Reference": "RNr:20/VA06894/0009500 vom 24.01.2020"
}
When reading the payment state is activated, you will get a value PaymentState
which contains either Paid
or ToBePaid
:
{
"Address":
{
"Name1": "Verbandsgemeindeverwaltung Nastätten",
"Name2": "",
"Name3": "",
"Zipcode": "56352",
"City": "Nastätten",
"Street": "Postfach",
"Phone": "06772 802 0",
"CustomerId": "",
"Bank": [{"BIC": "GENODE51DIE",
"IBAN": "DE76570928000208303503"},
{"BIC": "NASSDE55XXX",
"IBAN": "DE41510500150710030316"}]
},
"Date": "2020-01-24",
"Amount": "940.84",
"InvoiceId": "20/VA06894/0009500",
"Reference": "RNr:20/VA06894/0009500 vom 24.01.2020",
"PaymentState": "ToBePaid"
}
When reading the SEPA creditor is activated, you will get a value SEPACreditor
. If you are using the data extraction for example for photo payment, you should activate reading of the SEPA creditor. Some invoices specify a SEPA creditor that is not the same as the sender of the document, but you need to get the recipient of the payment.
{
"Address":
{
"Name1": "DB Fernverkehr AG",
"Name2": "",
"Name3": "",
"Zipcode": "60643",
"City": "Frankfurt am Main",
"Street": "BahnCard-Service",
"Phone": "0302970",
"CustomerId": "",
"Bank": [{"BIC": "PBNKDEFFXXX",
"IBAN": "DE02100100100152517108"}]
},
"Date": "2024-10-14",
"Amount": "244.00",
"InvoiceId": "2023174086",
"Reference": "RNr:2023174086 vom 14.10.2024",
"PaymentState": "ToBePaid",
"SEPACreditor": "DB Vertrieb GmbH"
}
}