Komponen / Tampilan data
TotalsSummary
Subtotal, diskon, DPP, PPN, dan total di bawah tabel item atau di kolom kanan form PO dan invoice.
Ringkasan nilai PO
Urutan baku: Subtotal → Diskon tambahan → DPP nilai lain (11/12) → PPN 12% → Total. Nilai berupa angka; komponen memformat dengan formatMoney.
- Subtotal
- Rp 45.000.000
- Diskon tambahan
- Rp 0
- DPP nilai lain (11/12)
- Rp 41.250.000
- PPN 12%
- Rp 4.950.000
- Total
- Rp 49.950.000
import { TotalsSummary } from '@divistant/circca-react';
// Ringkasan nilai di kolom kanan form PO: Subtotal → Diskon → DPP nilai lain (11/12) → PPN 12% → Total.
// Nilai berupa angka; komponen memformat dengan formatMoney dan meratakan kanan dengan angka tabular.
export default function Example() {
const subtotal = 45_000_000;
const diskon = 0;
const dpp = Math.round(((subtotal - diskon) * 11) / 12);
const ppn = Math.round(dpp * 0.12);
return (
<TotalsSummary
className="w-full max-w-[320px]"
items={[
{ label: 'Subtotal', value: subtotal },
{ label: 'Diskon tambahan', value: diskon, negative: true },
{ label: 'DPP nilai lain (11/12)', value: dpp },
{ label: 'PPN 12%', value: ppn },
]}
total={subtotal - diskon + ppn}
/>
);
}Diskon dan keterangan
Pengurang ditandai negative (tampil "−Rp …"). Keterangan singkat di bawah label; emphasis untuk baris dasar pajak.
- Subtotal
- Rp 84.500.000
- Diskon tambahan5% dari subtotal
- −Rp 4.225.000
- DPP
- Rp 80.275.000
- PPN 12%DPP nilai lain 11/12
- Rp 8.830.250
- Total PO
- Rp 89.105.250
import { TotalsSummary } from '@divistant/circca-react';
// Diskon dan potongan ditandai `negative` (tampil "−Rp …"); keterangan singkat lewat `description`.
// `emphasis` menonjolkan baris antara yang menjadi dasar perhitungan pajak.
export default function Example() {
return (
<TotalsSummary
className="w-full max-w-[320px]"
items={[
{ label: 'Subtotal', value: 84_500_000 },
{ label: 'Diskon tambahan', value: 4_225_000, negative: true, description: '5% dari subtotal' },
{ label: 'DPP', value: 80_275_000, emphasis: true },
{ label: 'PPN 12%', value: 8_830_250, description: 'DPP nilai lain 11/12' },
]}
total={{ label: 'Total PO', value: 89_105_250 }}
/>
);
}Dengan terbilang
Untuk invoice dan kuitansi: terbilang di bawah total (hanya IDR). Di dalam Card, TotalsSummary mengisi lebar kartu.
Ringkasan tagihan
INV-2026-0192 · termin 2 dari 2
- Subtotal
- Rp 84.500.000
- DPP nilai lain (11/12)
- Rp 77.458.333
- PPN 12%
- Rp 9.295.000
- Total tagihan
- Rp 93.795.000
- Terbilang: Sembilan puluh tiga juta tujuh ratus sembilan puluh lima ribu rupiah
import { Card, TotalsSummary } from '@divistant/circca-react';
// Invoice dan kuitansi mencantumkan terbilang di bawah total (hanya IDR).
export default function Example() {
return (
<Card title="Ringkasan tagihan" subtitle="INV-2026-0192 · termin 2 dari 2" className="max-w-[360px]">
<TotalsSummary
items={[
{ label: 'Subtotal', value: 84_500_000 },
{ label: 'DPP nilai lain (11/12)', value: 77_458_333 },
{ label: 'PPN 12%', value: 9_295_000 },
]}
total={{ label: 'Total tagihan', value: 93_795_000 }}
terbilang
/>
</Card>
);
}