mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-06-09 23:06:01 +00:00
feat(faturas/extrato): ajuste de fatura, reembolso e ajuste de saldo da conta
- botão "Ajustar fatura" na página da fatura abre dialog com input do valor real e preview da diferença; action faz upsert/delete idempotente do lançamento de ajuste - opção "Reembolso" no dropdown de ações de despesas à vista cria receita espelhada no extrato ou fatura correta, vinculada ao lançamento original - botão "Ajustar saldo" no extrato da conta compara saldo real informado e gera lançamento de ajuste por (accountId, period) via upsert/delete idempotente - constantes INVOICE_ADJUSTMENT_NAME, ACCOUNT_BALANCE_ADJUSTMENT_NAME, REFUND_NOTE_PREFIX e buildRefundNote() centralizadas em shared/lib/accounts/constants.ts - extrato agora contabiliza transferências internas em Entradas e Saídas corretamente Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -64,6 +64,9 @@ export function TransactionDetailsDialog({
|
||||
: 0;
|
||||
|
||||
const isBoleto = transaction.paymentMethod === "Boleto";
|
||||
const shortTransactionId = `…${
|
||||
transaction.id.split("-").at(-1) ?? transaction.id
|
||||
}`;
|
||||
|
||||
const handleEdit = () => {
|
||||
onOpenChange(false);
|
||||
@@ -120,6 +123,12 @@ export function TransactionDetailsDialog({
|
||||
Detalhes
|
||||
</h3>
|
||||
<ul className="min-w-0 grid gap-2 rounded-lg border p-3">
|
||||
<DetailRow
|
||||
label="ID"
|
||||
value={shortTransactionId}
|
||||
valueClassName="font-mono"
|
||||
/>
|
||||
|
||||
<DetailRow
|
||||
label="Período"
|
||||
value={formatPeriod(transaction.period)}
|
||||
@@ -253,13 +262,16 @@ export function TransactionDetailsDialog({
|
||||
interface DetailRowProps {
|
||||
label: string;
|
||||
value: string;
|
||||
valueClassName?: string;
|
||||
}
|
||||
|
||||
function DetailRow({ label, value }: DetailRowProps) {
|
||||
function DetailRow({ label, value, valueClassName }: DetailRowProps) {
|
||||
return (
|
||||
<li className="min-w-0 flex items-center justify-between gap-3">
|
||||
<span className="text-muted-foreground">{label}</span>
|
||||
<span className="min-w-0 truncate">{value}</span>
|
||||
<span className={`min-w-0 truncate ${valueClassName ?? ""}`}>
|
||||
{value}
|
||||
</span>
|
||||
</li>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user