@accounter/server
Version:
130 lines (129 loc) • 3.24 kB
TypeScript
import { EntryType } from './index.js';
/**
* Header Entry Variables
*/
export interface Header {
/**
* User Licensed Dealer identification Number
* 9 digits
* מספר עוסק
*/
licensedDealerId: string;
/**
* Month for which detailed report is being submitted
* YYYYMM
* תקופת הדיווח
*/
reportMonth: string;
/**
* File Generation Date
* YYYYMM
* if undefined - current date will be inputed
* תאריך הגשה
*/
generationDate?: string;
/**
* Total amount of taxable sales (excluding VAT)
* in the reported file
* עסקאות חייבות
*/
taxableSalesAmount: number;
/**
* Total VAT on taxable sales
* in the reported file
* מע"מ עסקאות חייבות
*/
taxableSalesVat: number;
/**
* Total number of records for "sales".
* Number of sales records - both taxable and zero-rated/ exempt
* מס' עסקאות
*/
salesRecordCount: number;
/**
* Total of zero value/exempt sales for period
* עסקאות פטורות / אפס
*/
zeroValOrExemptSalesCount: number;
/**
* Total VAT on "other" inputs required during period
* תשומות אחרות
*/
otherInputsVat: number;
/**
* Total VAT on "equipment" inputs required during period
* תשומות ציוד
*/
equipmentInputsVat: number;
/**
* Total number of records for inputs (other and equipment)
* מס' תשומות
*/
inputsCount: number;
/**
* Total VAT to pay / receive for period
* positive value => pay
* negative value => receive
* סכום מדווח
*/
totalVat: number;
}
/**
* Transaction Entry Variables
*/
export interface Transaction {
/**
* Entry Type (document type)
* סוג רשומה
*/
entryType: EntryType;
/**
* VAT identification number – of the other side of the transaction.
* For transactions entries – the customer
* For inputs – the supplier
* ספק / רשימון
*/
vatId?: string;
/**
* Invoice Date/Reference.
* YYYYMMDD
* תאריך החשבונית
*/
invoiceDate: string;
/**
* Reference group.
* Series etc. zeros are possible at this stage
* קבוצת אסמכתא
*/
refGroup?: string;
/**
* Reference number.
* First 9 positions from the right
* מספר אסמכתא
*/
refNumber?: string;
/**
* Total VAT in invoice / total VAT that is allowed (1/4…. 2/3…).
* Rounded to the nearest shekel – always a positive value
* סכום המע"מ
*/
totalVat?: number;
/**
* Invoice total (excluding VAT)
* Always the 100%, always a positive value, rounded to the nearest shekel
* סכום
*/
invoiceSum: number;
}
export interface Options {
/**
* defines if generator will throw error on minor/auto-fixable issue
* default: false
*/
strict?: boolean;
/**
* defines if generator will sort transactions (by entryType then invoiceDate)
* default: true
*/
sort?: boolean;
}