Buildium GL account map: strict account links, separate pull/push charges

- buildium_gl_account_links + buildium_unmapped_gl_accounts tables (strict, hold-and-flag)
- buildium-sync: pull charges syncType, account-first push resolution, no fuzzy matching, push dryRun
- buildium-gl-sync: links-only resolution, watermark held while unmapped accounts exist
- GL Account Map settings tab + Pull Charges card + unmapped results panel

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 14:07:18 -04:00
parent abd46bcb2b
commit ff65c8a656
5 changed files with 741 additions and 147 deletions
+88
View File
@@ -2526,6 +2526,53 @@ export type Database = {
},
]
}
buildium_gl_account_links: {
Row: {
account_id: string
association_id: string
buildium_gl_id: string
buildium_name: string | null
buildium_number: string | null
buildium_type: string | null
created_at: string
id: string
is_push_target: boolean
updated_at: string
}
Insert: {
account_id: string
association_id: string
buildium_gl_id: string
buildium_name?: string | null
buildium_number?: string | null
buildium_type?: string | null
created_at?: string
id?: string
is_push_target?: boolean
updated_at?: string
}
Update: {
account_id?: string
association_id?: string
buildium_gl_id?: string
buildium_name?: string | null
buildium_number?: string | null
buildium_type?: string | null
created_at?: string
id?: string
is_push_target?: boolean
updated_at?: string
}
Relationships: [
{
foreignKeyName: "buildium_gl_account_links_association_id_fkey"
columns: ["association_id"]
isOneToOne: false
referencedRelation: "associations"
referencedColumns: ["id"]
},
]
}
buildium_gl_mappings: {
Row: {
amount_max: number | null
@@ -2646,6 +2693,47 @@ export type Database = {
}
Relationships: []
}
buildium_unmapped_gl_accounts: {
Row: {
association_id: string
buildium_gl_id: string
buildium_name: string | null
buildium_number: string | null
buildium_type: string | null
context: string | null
id: string
last_seen_at: string
}
Insert: {
association_id: string
buildium_gl_id: string
buildium_name?: string | null
buildium_number?: string | null
buildium_type?: string | null
context?: string | null
id?: string
last_seen_at?: string
}
Update: {
association_id?: string
buildium_gl_id?: string
buildium_name?: string | null
buildium_number?: string | null
buildium_type?: string | null
context?: string | null
id?: string
last_seen_at?: string
}
Relationships: [
{
foreignKeyName: "buildium_unmapped_gl_accounts_association_id_fkey"
columns: ["association_id"]
isOneToOne: false
referencedRelation: "associations"
referencedColumns: ["id"]
},
]
}
bundle_expenses: {
Row: {
added_at: string