@hasna/invoices 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Business profiles and tax rules
3
+ */
4
+ export interface BusinessProfile {
5
+ id: string;
6
+ name: string;
7
+ address_line1: string | null;
8
+ address_line2: string | null;
9
+ city: string | null;
10
+ state: string | null;
11
+ postal_code: string | null;
12
+ country: string;
13
+ tax_id: string | null;
14
+ vat_number: string | null;
15
+ registration_number: string | null;
16
+ email: string | null;
17
+ phone: string | null;
18
+ website: string | null;
19
+ bank_name: string | null;
20
+ bank_iban: string | null;
21
+ bank_swift: string | null;
22
+ bank_account: string | null;
23
+ logo_url: string | null;
24
+ is_default: boolean;
25
+ metadata: Record<string, unknown>;
26
+ created_at: string;
27
+ updated_at: string;
28
+ }
29
+ export interface CreateBusinessInput {
30
+ name: string;
31
+ address_line1?: string;
32
+ address_line2?: string;
33
+ city?: string;
34
+ state?: string;
35
+ postal_code?: string;
36
+ country?: string;
37
+ tax_id?: string;
38
+ vat_number?: string;
39
+ registration_number?: string;
40
+ email?: string;
41
+ phone?: string;
42
+ website?: string;
43
+ bank_name?: string;
44
+ bank_iban?: string;
45
+ bank_swift?: string;
46
+ bank_account?: string;
47
+ logo_url?: string;
48
+ is_default?: boolean;
49
+ }
50
+ export declare function createBusinessProfile(input: CreateBusinessInput): BusinessProfile;
51
+ export declare function getBusinessProfile(id: string): BusinessProfile | null;
52
+ export declare function getDefaultBusinessProfile(): BusinessProfile | null;
53
+ export declare function listBusinessProfiles(): BusinessProfile[];
54
+ export declare function updateBusinessProfile(id: string, input: Partial<CreateBusinessInput>): BusinessProfile | null;
55
+ export declare function deleteBusinessProfile(id: string): boolean;
56
+ export interface TaxRule {
57
+ id: string;
58
+ country: string;
59
+ region: string | null;
60
+ tax_name: string;
61
+ rate: number;
62
+ type: "vat" | "sales_tax" | "gst" | "other";
63
+ is_default: boolean;
64
+ reverse_charge: boolean;
65
+ description: string | null;
66
+ created_at: string;
67
+ }
68
+ export declare function getTaxRulesForCountry(country: string): TaxRule[];
69
+ export declare function getDefaultTaxRule(country: string): TaxRule | null;
70
+ export declare function getTaxRule(id: string): TaxRule | null;
71
+ export declare function listAllTaxRules(): TaxRule[];
72
+ export interface CreateTaxRuleInput {
73
+ country: string;
74
+ region?: string;
75
+ tax_name: string;
76
+ rate: number;
77
+ type?: "vat" | "sales_tax" | "gst" | "other";
78
+ is_default?: boolean;
79
+ reverse_charge?: boolean;
80
+ description?: string;
81
+ }
82
+ export declare function createTaxRule(input: CreateTaxRuleInput): TaxRule;
83
+ export declare function deleteTaxRule(id: string): boolean;
84
+ /**
85
+ * Determine tax for an invoice based on issuer and client countries.
86
+ * Applies EU reverse charge when both parties are in EU and client has VAT number.
87
+ */
88
+ export declare function determineTax(issuerCountry: string, clientCountry: string, clientVatNumber?: string | null): {
89
+ tax_rate: number;
90
+ tax_name: string;
91
+ reverse_charge: boolean;
92
+ };
93
+ //# sourceMappingURL=business.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business.d.ts","sourceRoot":"","sources":["../../src/db/business.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Client CRUD operations for invoicing
3
+ */
4
+ export interface Client {
5
+ id: string;
6
+ name: string;
7
+ email: string | null;
8
+ phone: string | null;
9
+ address: string | null;
10
+ address_line1: string | null;
11
+ address_line2: string | null;
12
+ city: string | null;
13
+ state: string | null;
14
+ postal_code: string | null;
15
+ country: string | null;
16
+ tax_id: string | null;
17
+ vat_number: string | null;
18
+ language: string | null;
19
+ notes: string | null;
20
+ metadata: Record<string, unknown>;
21
+ created_at: string;
22
+ updated_at: string;
23
+ }
24
+ export interface CreateClientInput {
25
+ name: string;
26
+ email?: string;
27
+ phone?: string;
28
+ address?: string;
29
+ address_line1?: string;
30
+ address_line2?: string;
31
+ city?: string;
32
+ state?: string;
33
+ postal_code?: string;
34
+ country?: string;
35
+ tax_id?: string;
36
+ vat_number?: string;
37
+ language?: string;
38
+ notes?: string;
39
+ }
40
+ export declare function createClient(input: CreateClientInput): Client;
41
+ export declare function getClient(id: string): Client | null;
42
+ export declare function listClients(search?: string): Client[];
43
+ export declare function updateClient(id: string, input: Partial<CreateClientInput>): Client | null;
44
+ export declare function deleteClient(id: string): boolean;
45
+ //# sourceMappingURL=clients.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../src/db/clients.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAmBD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAmB7D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAInD;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAUrD;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,GAAG,IAAI,CAsBzF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAGhD"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Database connection for open-invoices
3
+ * Stores data at ~/.hasna/invoices/invoices.db
4
+ * Override with HASNA_INVOICES_DIR or INVOICES_DIR env vars.
5
+ */
6
+ import type { Database } from "bun:sqlite";
7
+ export declare function getDatabase(): Database;
8
+ export declare function closeDatabase(): void;
9
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiB3C,wBAAgB,WAAW,IAAI,QAAQ,CA8CtC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Invoice CRUD operations
3
+ */
4
+ export interface Invoice {
5
+ id: string;
6
+ invoice_number: string;
7
+ client_id: string | null;
8
+ business_profile_id: string | null;
9
+ status: "draft" | "sent" | "paid" | "overdue" | "cancelled" | "refunded";
10
+ issue_date: string;
11
+ due_date: string | null;
12
+ currency: string;
13
+ subtotal: number;
14
+ tax_rate: number;
15
+ tax_name: string;
16
+ tax_amount: number;
17
+ discount: number;
18
+ total: number;
19
+ reverse_charge: boolean;
20
+ language: string;
21
+ notes: string | null;
22
+ footer_text: string | null;
23
+ metadata: Record<string, unknown>;
24
+ created_at: string;
25
+ updated_at: string;
26
+ paid_at: string | null;
27
+ }
28
+ export interface LineItem {
29
+ id: string;
30
+ invoice_id: string;
31
+ description: string;
32
+ quantity: number;
33
+ unit_price: number;
34
+ amount: number;
35
+ sort_order: number;
36
+ created_at: string;
37
+ }
38
+ export interface Payment {
39
+ id: string;
40
+ invoice_id: string;
41
+ amount: number;
42
+ method: string | null;
43
+ reference: string | null;
44
+ notes: string | null;
45
+ paid_at: string;
46
+ created_at: string;
47
+ }
48
+ export interface InvoiceWithItems extends Invoice {
49
+ line_items: LineItem[];
50
+ payments: Payment[];
51
+ }
52
+ export interface CreateInvoiceInput {
53
+ client_id?: string;
54
+ business_profile_id?: string;
55
+ invoice_number?: string;
56
+ issue_date?: string;
57
+ due_date?: string;
58
+ currency?: string;
59
+ tax_rate?: number;
60
+ tax_name?: string;
61
+ discount?: number;
62
+ reverse_charge?: boolean;
63
+ language?: string;
64
+ notes?: string;
65
+ footer_text?: string;
66
+ }
67
+ export declare function createInvoice(input?: CreateInvoiceInput): Invoice;
68
+ export declare function getInvoice(id: string): Invoice | null;
69
+ export declare function getInvoiceWithItems(id: string): InvoiceWithItems | null;
70
+ export interface ListInvoicesOptions {
71
+ status?: string;
72
+ client_id?: string;
73
+ from_date?: string;
74
+ to_date?: string;
75
+ limit?: number;
76
+ }
77
+ export declare function listInvoices(options?: ListInvoicesOptions): Invoice[];
78
+ export declare function updateInvoiceStatus(id: string, status: Invoice["status"]): Invoice | null;
79
+ export declare function deleteInvoice(id: string): boolean;
80
+ export interface AddLineItemInput {
81
+ invoice_id: string;
82
+ description: string;
83
+ quantity?: number;
84
+ unit_price: number;
85
+ }
86
+ export declare function addLineItem(input: AddLineItemInput): LineItem;
87
+ export declare function removeLineItem(id: string): boolean;
88
+ export interface RecordPaymentInput {
89
+ invoice_id: string;
90
+ amount: number;
91
+ method?: string;
92
+ reference?: string;
93
+ notes?: string;
94
+ }
95
+ export declare function recordPayment(input: RecordPaymentInput): Payment;
96
+ export declare function getInvoiceSummary(): {
97
+ total_invoices: number;
98
+ draft: number;
99
+ sent: number;
100
+ paid: number;
101
+ overdue: number;
102
+ total_outstanding: number;
103
+ total_paid: number;
104
+ };
105
+ //# sourceMappingURL=invoices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../src/db/invoices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface MigrationEntry {
2
+ id: number;
3
+ name: string;
4
+ sql: string;
5
+ }
6
+ export declare const MIGRATIONS: MigrationEntry[];
7
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,UAAU,EAAE,cAAc,EAiLtC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @hasna/invoices — Invoice management for AI agents
3
+ */
4
+ export { createInvoice, getInvoice, getInvoiceWithItems, listInvoices, updateInvoiceStatus, deleteInvoice, addLineItem, removeLineItem, recordPayment, getInvoiceSummary, type Invoice, type InvoiceWithItems, type LineItem, type Payment, type CreateInvoiceInput, type AddLineItemInput, type RecordPaymentInput, type ListInvoicesOptions, } from "./db/invoices.js";
5
+ export { createClient, getClient, listClients, updateClient, deleteClient, type Client, type CreateClientInput, } from "./db/clients.js";
6
+ export { createBusinessProfile, getBusinessProfile, getDefaultBusinessProfile, listBusinessProfiles, updateBusinessProfile, deleteBusinessProfile, getTaxRulesForCountry, getDefaultTaxRule, getTaxRule, listAllTaxRules, createTaxRule, deleteTaxRule, determineTax, type BusinessProfile, type CreateBusinessInput, type TaxRule, type CreateTaxRuleInput, } from "./db/business.js";
7
+ export { getDatabase, closeDatabase } from "./db/database.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,KAAK,MAAM,EACX,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}