myinvois-sdk
Version:
TypeScript SDK for interacting with the Malaysia e-invoicing system (MyInvois) API
50 lines (49 loc) • 1.46 kB
TypeScript
import { BaseModel } from './base-model';
import { Item } from './item';
import { Price } from './price';
import { TaxTotal } from './tax-total';
/**
* Represents an invoice line
*/
export declare class InvoiceLine extends BaseModel {
private _id;
private _quantity;
private _unitCode;
private _lineExtensionAmount;
private _discountRate;
private _discountAmount;
private _item;
private _price;
private _taxTotal;
get id(): number;
set id(value: number);
get quantity(): number;
set quantity(value: number);
get unitCode(): string;
set unitCode(value: string);
get lineExtensionAmount(): number;
get discountRate(): number;
set discountRate(value: number);
get discountAmount(): number;
get item(): Item;
set item(value: Item);
get price(): Price;
set price(value: Price);
get taxTotal(): TaxTotal;
set taxTotal(value: TaxTotal);
/**
* Updates the calculations for the invoice line
*/
private updateCalculations;
/**
* Sets the tax rate and updates calculations
* @param taxRate The tax rate to set
* @param taxType The tax type (e.g., 'S', 'Z', 'E', etc.)
* @param taxExemptionReason The reason for tax exemption (if applicable)
*/
setTax(taxRate: number, taxType: string, taxExemptionReason?: string): void;
/**
* Converts the invoice line to a JSON representation
*/
toJSON(): any;
}