@arathron/n8n-nodes-zoho-books
Version:
n8n community nodes for Zoho Books and Zoho Inventory API integration - Complete CRUD operations for Sales Orders, Invoices, Items, Vendors, Credit Notes, Payments, Purchase Orders, Bills, Composite Items, and Assemblies
64 lines • 2.26 kB
TypeScript
import { IDataObject, NodeApiError } from 'n8n-workflow';
export interface SalesOrderLineItem {
item_id?: string;
name?: string;
description?: string;
quantity: number;
rate: number;
tax_id?: string;
discount?: number;
unit?: string;
item_total?: number;
rate_includes_tax?: boolean;
}
export interface SalesOrderCustomField {
customfield_id: string;
value: string;
}
export interface TaxData {
tax_id: string;
tax_name: string;
tax_percentage: number;
}
export interface SalesOrderPayload {
customer_id: string;
salesorder_number?: string;
date?: string;
reference_number?: string;
billing_address_id?: string;
shipping_address_id?: string;
currency_id?: string;
exchange_rate?: number;
line_items: SalesOrderLineItem[];
shipping_charge?: number;
adjustment?: number;
adjustment_description?: string;
custom_fields?: SalesOrderCustomField[];
notes?: string;
terms?: string;
subject?: string;
discount?: number;
discount_type?: 'entity_level' | 'item_level';
is_discount_before_tax?: boolean;
template_id?: string;
salesperson_name?: string;
delivery_date?: string;
shipment_date?: string;
place_of_supply?: string;
gst_treatment?: 'business_gst' | 'business_none' | 'overseas' | 'consumer';
gst_no?: string;
}
export interface ValidationResult {
isValid: boolean;
errors: string[];
warnings: string[];
normalizedData?: SalesOrderPayload;
}
export declare const taxPercentageCache: Map<string, number>;
export declare function getTaxPercentage(taxId: string, zohoApiRequest: any, context: any): Promise<number>;
export declare function adjustRateForTax(item: SalesOrderLineItem, taxPercentage: number, isGlobalTaxInclusive?: boolean): SalesOrderLineItem;
export declare function validateAndNormalizeSalesOrder(inputData: any, _context?: string): ValidationResult;
export declare function createValidationError(result: ValidationResult, context?: string): NodeApiError;
export declare function generateSampleSalesOrder(): SalesOrderPayload;
export declare function sanitizeSalesOrderPayload(payload: SalesOrderPayload): IDataObject;
//# sourceMappingURL=SalesOrderNormalizer.d.ts.map