17 lines
490 B
TypeScript
17 lines
490 B
TypeScript
import { addCalendarDays } from "@beenvoice/domain/time-zone";
|
|
|
|
/** Matches web invoice-form default numbering. */
|
|
export function generateInvoiceNumber(now = new Date()): string {
|
|
const date = [
|
|
now.getFullYear(),
|
|
String(now.getMonth() + 1).padStart(2, "0"),
|
|
String(now.getDate()).padStart(2, "0"),
|
|
].join("");
|
|
|
|
return `INV-${date}-${String(now.getTime()).slice(-6)}`;
|
|
}
|
|
|
|
export function defaultDueDate(issueDate: Date): Date {
|
|
return addCalendarDays(issueDate, 30);
|
|
}
|