@logismix/mydata-client
Version:
Greek myDATA (AADE) API client library
48 lines (47 loc) • 2.04 kB
TypeScript
import { AmountType, IncomeClassificationCategoryType, IncomeClassificationValueType } from './simple-types.model';
/**
* Root element for submitting income classifications.
* Χαρατηρισμοί Εσόδων Πρότυπων Παραστατικών ΑΑΔΕ
*/
export interface IncomeClassificationsDoc {
/** Array of income classifications per invoice */
incomeInvoiceClassification: InvoiceIncomeClassificationType[];
}
/**
* Represents income classification data for a single invoice.
*/
export interface InvoiceIncomeClassificationType {
/** Unique Invoice Registration Number (MARK) */
invoiceMark: number;
/** Unique Classification Registration Number. Filled by the service. */
classificationMark?: number;
/** VAT Number of the entity the classification refers to (used by representatives/accountants). */
entityVatNumber?: string;
/** Transaction Mode (1: Reject, 2: Deviation) OR detailed classifications. */
transactionMode?: 1 | 2;
/** Detailed income classifications per invoice line. */
invoicesIncomeClassificationDetails?: InvoicesIncomeClassificationDetailType[];
}
/**
* Represents income classification details for a specific line number within an invoice.
*/
export interface InvoicesIncomeClassificationDetailType {
/** The line number of the original invoice this classification refers to. */
lineNumber: number;
/** List of income classifications for this specific line. */
incomeClassificationDetailData: IncomeClassificationType[];
}
/**
* Detailed income classification data.
* This type is defined here as it's the core element of this specific schema.
*/
export interface IncomeClassificationType {
/** Classification Code (E3 Code) */
classificationType?: IncomeClassificationValueType;
/** Classification Category */
classificationCategory: IncomeClassificationCategoryType;
/** Amount of the classification */
amount: AmountType;
/** Sequential ID for classifications within a line */
id?: number;
}