FR Payslip OCR Java
The Java OCR SDK supports the Payslip API.
The sample below can be used for testing purposes.
Quick-Start
import com.mindee.MindeeClient;
import com.mindee.input.LocalInputSource;
import com.mindee.parsing.common.AsyncPredictResponse;
import com.mindee.product.fr.payslip.PayslipV2;
import java.io.File;
import java.io.IOException;
public class SimpleMindeeClient {
public static void main(String[] args) throws IOException, InterruptedException {
String apiKey = "my-api-key";
String filePath = "/path/to/the/file.ext";
// Init a new client
MindeeClient mindeeClient = new MindeeClient(apiKey);
// Load a file from disk
LocalInputSource inputSource = new LocalInputSource(new File(filePath));
// Parse the file asynchronously
AsyncPredictResponse<PayslipV2> response = mindeeClient.enqueueAndParse(
PayslipV2.class,
inputSource
);
// Print a summary of the response
System.out.println(response.toString());
// Print a summary of the predictions
// System.out.println(response.getDocumentObj().toString());
// Print the document-level predictions
// System.out.println(response.getDocumentObj().getInference().getPrediction().toString());
// Print the page-level predictions
// response.getDocumentObj().getInference().getPages().forEach(
// page -> System.out.println(page.toString())
// );
}
}
Field Types
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 (
Polygon
): 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
extendsList<Point>
) of a polygon containing the field in the image. - pageId (
Integer
): the ID of the page, alwaysnull
when at document-level.
Note: A
Point
simply refers to a List ofDouble
.
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.
Bank Account Details Field
Information about the employee's bank account.
A PayslipV2BankAccountDetail
implements the following attributes:
- bankName (
String
): The name of the bank. - iban (
String
): The IBAN of the bank account. - swift (
String
): The SWIFT code of the bank.
Fields which are specific to this product; they are not used in any other product.
Employee Field
Information about the employee.
A PayslipV2Employee
implements the following attributes:
- address (
String
): The address of the employee. - dateOfBirth (
String
): The date of birth of the employee. - firstName (
String
): The first name of the employee. - lastName (
String
): The last name of the employee. - phoneNumber (
String
): The phone number of the employee. - registrationNumber (
String
): The registration number of the employee. - socialSecurityNumber (
String
): The social security number of the employee.
Fields which are specific to this product; they are not used in any other product.
Employer Field
Information about the employer.
A PayslipV2Employer
implements the following attributes:
- address (
String
): The address of the employer. - companyId (
String
): The company ID of the employer. - companySite (
String
): The site of the company. - nafCode (
String
): The NAF code of the employer. - name (
String
): The name of the employer. - phoneNumber (
String
): The phone number of the employer. - urssafNumber (
String
): The URSSAF number of the employer.
Fields which are specific to this product; they are not used in any other product.
Employment Field
Information about the employment.
A PayslipV2Employment
implements the following attributes:
- category (
String
): The category of the employment. - coefficient (
Double
): The coefficient of the employment. - collectiveAgreement (
String
): The collective agreement of the employment. - jobTitle (
String
): The job title of the employee. - positionLevel (
String
): The position level of the employment. - startDate (
String
): The start date of the employment.
Fields which are specific to this product; they are not used in any other product.
Pay Detail Field
Detailed information about the pay.
A PayslipV2PayDetail
implements the following attributes:
- grossSalary (
Double
): The gross salary of the employee. - grossSalaryYtd (
Double
): The year-to-date gross salary of the employee. - incomeTaxRate (
Double
): The income tax rate of the employee. - incomeTaxWithheld (
Double
): The income tax withheld from the employee's pay. - netPaid (
Double
): The net paid amount of the employee. - netPaidBeforeTax (
Double
): The net paid amount before tax of the employee. - netTaxable (
Double
): The net taxable amount of the employee. - netTaxableYtd (
Double
): The year-to-date net taxable amount of the employee. - totalCostEmployer (
Double
): The total cost to the employer. - totalTaxesAndDeductions (
Double
): The total taxes and deductions of the employee.
Fields which are specific to this product; they are not used in any other product.
Pay Period Field
Information about the pay period.
A PayslipV2PayPeriod
implements the following attributes:
- endDate (
String
): The end date of the pay period. - month (
String
): The month of the pay period. - paymentDate (
String
): The date of payment for the pay period. - startDate (
String
): The start date of the pay period. - year (
String
): The year of the pay period.
Fields which are specific to this product; they are not used in any other product.
PTO Field
Information about paid time off.
A PayslipV2Pto
implements the following attributes:
- accruedThisPeriod (
Double
): The amount of paid time off accrued in this period. - balanceEndOfPeriod (
Double
): The balance of paid time off at the end of the period. - usedThisPeriod (
Double
): The amount of paid time off used in this period.
Fields which are specific to this product; they are not used in any other product.
Salary Details Field
Detailed information about the earnings.
A PayslipV2SalaryDetail
implements the following attributes:
- amount (
Double
): The amount of the earnings. - base (
Double
): The base value of the earnings. - description (
String
): The description of the earnings. - rate (
Double
): The rate of the earnings.
Attributes
The following fields are extracted for Payslip V2:
Bank Account Details
bankAccountDetails(PayslipV2BankAccountDetail): Information about the employee's bank account.
System.out.println(result.getDocument().getInference().getPrediction().getBankAccountDetails().value);
Employee
employee(PayslipV2Employee): Information about the employee.
System.out.println(result.getDocument().getInference().getPrediction().getEmployee().value);
Employer
employer(PayslipV2Employer): Information about the employer.
System.out.println(result.getDocument().getInference().getPrediction().getEmployer().value);
Employment
employment(PayslipV2Employment): Information about the employment.
System.out.println(result.getDocument().getInference().getPrediction().getEmployment().value);
Pay Detail
payDetail(PayslipV2PayDetail): Detailed information about the pay.
System.out.println(result.getDocument().getInference().getPrediction().getPayDetail().value);
Pay Period
payPeriod(PayslipV2PayPeriod): Information about the pay period.
System.out.println(result.getDocument().getInference().getPrediction().getPayPeriod().value);
PTO
pto(PayslipV2Pto): Information about paid time off.
System.out.println(result.getDocument().getInference().getPrediction().getPto().value);
Salary Details
salaryDetails(List<PayslipV2SalaryDetail>): Detailed information about the earnings.
for (salaryDetailsElem : result.getDocument().getInference().getPrediction().getSalaryDetails())
{
System.out.println(salaryDetailsElem.value);
}
Questions?
Updated 22 days ago