accountingStore
Store Zustand para o módulo contábil completo.
Localização: frontend-react/src/stores/accountingStore.ts
Estado
| Campo | Tipo | Descrição |
|---|---|---|
accounts | ChartAccount[] | Plano de contas carregado |
accountsLoading | boolean | Loading do plano de contas |
journalEntries | JournalEntry[] | Página atual do diário |
journalLoading | boolean | Loading do diário |
balancete | BalanceteRow[] | Balancete do período |
balanceteLoading | boolean | Loading do balancete |
razao | RazaoLine[] | Movimentos do razão |
razaoLoading | boolean | Loading do razão |
periods | PeriodClosing[] | Períodos de fechamento |
periodsLoading | boolean | Loading dos períodos |
receivables | AccountsReceivable[] | Contas a receber |
receivablesLoading | boolean | Loading dos recebíveis |
agingReport | AgingReport | null | Aging report |
bankAccounts | BankAccount[] | Contas bancárias |
bankAccountsLoading | boolean | Loading das contas bancárias |
statementLines | BankStatementLine[] | Linhas do extrato ativo |
statementLoading | boolean | Loading do extrato |
Ações
Plano de Contas
ts
fetchAccounts(slug: string): Promise<void>Carrega todas as contas do plano (sistema + tenant).
Diário
ts
fetchJournalEntries(slug: string, params?: {
page?: number;
limit?: number;
status?: JournalEntryStatus;
}): Promise<void>Razão & Balancete
ts
fetchBalancete(slug: string, year: number, month: number): Promise<void>
fetchRazao(
slug: string,
accountId: string,
startDate: string,
endDate: string
): Promise<void>Períodos
ts
fetchPeriods(slug: string): Promise<void>Contas a Receber
ts
fetchReceivables(slug: string, params?: {
status?: ReceivableStatus;
}): Promise<void>
fetchAgingReport(slug: string): Promise<void>
settleReceivable(
slug: string,
id: string,
amount: number,
paymentMethod: string
): Promise<void>
writeOffReceivable(
slug: string,
id: string,
reason: string
): Promise<void>Contas Bancárias
ts
fetchBankAccounts(slug: string): Promise<void>
createBankAccount(slug: string, data: Partial<BankAccount>): Promise<void>
fetchStatementLines(
slug: string,
bankAccountId: string,
params?: { status?: string }
): Promise<void>
autoMatch(slug: string, bankAccountId: string): Promise<void>Uso típico
tsx
const { accounts, accountsLoading, fetchAccounts } = useAccountingStore();
useEffect(() => {
if (slug) fetchAccounts(slug);
}, [slug]);