SS.Accounting 1.2.0
Exact-decimal as-of balances, multi-currency booked and revalued reporting, linked accrual reversals, immutable ledgers, closing, audit trail and snapshots
Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0
No package dependencies declared.
Public API
Accounting.account
export function account(string code, string name, string kind, string currency, decimal openingBalance)->AccountParameters: code: string, name: string, kind: string, currency: string, openingBalance: decimal
Accounting.Account
export record Account(public string code, public string name, public string kind, public string currency, public decimal openingBalance)Parameters: code: string, name: string, kind: string, currency: string, openingBalance: decimal
Accounting.accountBalance
export function accountBalance(Ledger ledger, string code)->decimalParameters: ledger: Ledger, code: string
export record AsOfTrialBalance(public int throughPeriod, public string[] accountCodes, public decimal[] debitPositiveBalances, public decimal debits, public decimal credits, public bool balanced)Parameters: throughPeriod: int, accountCodes: string[], debitPositiveBalances: decimal[], debits: decimal, credits: decimal, balanced: bool
Accounting.closePeriod
export function closePeriod(Ledger ledger, string closingId, string retainedEarningsCode)->LedgerParameters: ledger: Ledger, closingId: string, retainedEarningsCode: string
export function closingRetainedEarnings(decimal opening, decimal netIncome, decimal dividends)->decimalParameters: opening: decimal, netIncome: decimal, dividends: decimal
Accounting.createLedger
export function createLedger(Account[] accounts, string baseCurrency, int openPeriod)->LedgerParameters: accounts: Account[], baseCurrency: string, openPeriod: int
Accounting.creditNormalBalance
export function creditNormalBalance(decimal opening, decimal[] debits, decimal[] credits)->decimalParameters: opening: decimal, debits: decimal[], credits: decimal[]
Accounting.currencyLedgerReport
export function currencyLedgerReport(Ledger ledger)->CurrencyLedgerReportParameters: ledger: Ledger
export record CurrencyLedgerReport(public string[] currencies, public decimal[] originalDebitPositiveBalances, public decimal[] bookedBaseDebitPositiveBalances, public decimal bookedBaseDebits, public decimal bookedBaseCredits, public bool balanced)Parameters: currencies: string[], originalDebitPositiveBalances: decimal[], bookedBaseDebitPositiveBalances: decimal[], bookedBaseDebits: decimal, bookedBaseCredits: decimal, balanced: bool
Accounting.debitNormalBalance
export function debitNormalBalance(decimal opening, decimal[] debits, decimal[] credits)->decimalParameters: opening: decimal, debits: decimal[], credits: decimal[]
export record FxRevaluationReport(public string[] currencies, public decimal[] foreignBalances, public decimal[] bookedBaseBalances, public decimal[] revaluedBaseBalances, public decimal[] unrealizedGains, public decimal totalUnrealizedGain)Parameters: currencies: string[], foreignBalances: decimal[], bookedBaseBalances: decimal[], revaluedBaseBalances: decimal[], unrealizedGains: decimal[], totalUnrealizedGain: decimal
Accounting.grossProfit
export function grossProfit(decimal revenue, decimal costOfGoodsSold)->decimalParameters: revenue: decimal, costOfGoodsSold: decimal
Accounting.JournalEntry
export record JournalEntry(public string id, public int period, public string description, public JournalLine[] lines, public string reverses)Parameters: id: string, period: int, description: string, lines: JournalLine[], reverses: string
Accounting.JournalLine
export record JournalLine(public string accountCode, public decimal debit, public decimal credit, public string transactionCurrency, public decimal basePerTransaction)Parameters: accountCode: string, debit: decimal, credit: decimal, transactionCurrency: string, basePerTransaction: decimal
Accounting.journalTotals
export function journalTotals(decimal[] debits, decimal[] credits)->JournalTotalsParameters: debits: decimal[], credits: decimal[]
Accounting.JournalTotals
export record JournalTotals(public decimal debits, public decimal credits, public bool balanced)Parameters: debits: decimal, credits: decimal, balanced: bool
Accounting.Ledger
export record Ledger(public Account[] accounts, public JournalEntry[] entries, public string baseCurrency, public int openPeriod, public int closedThrough)Parameters: accounts: Account[], entries: JournalEntry[], baseCurrency: string, openPeriod: int, closedThrough: int
Accounting.LedgerReport
export record LedgerReport(public string[] accountCodes, public decimal[] debitPositiveBalances, public decimal debits, public decimal credits, public decimal assets, public decimal liabilities, public decimal equity, public decimal revenue, public decimal expenses, public decimal netIncome, public bool balanced)Parameters: accountCodes: string[], debitPositiveBalances: decimal[], debits: decimal, credits: decimal, assets: decimal, liabilities: decimal, equity: decimal, revenue: decimal, expenses: decimal, netIncome: decimal, balanced: bool
export record LedgerSnapshot(public Account[] accounts, public JournalEntry[] entries, public string baseCurrency, public int openPeriod, public int closedThrough, public int entryCount, public decimal debitChecksum, public decimal creditChecksum)Parameters: accounts: Account[], entries: JournalEntry[], baseCurrency: string, openPeriod: int, closedThrough: int, entryCount: int, debitChecksum: decimal, creditChecksum: decimal
Accounting.post
export function post(Ledger ledger, JournalEntry entry)->LedgerParameters: ledger: Ledger, entry: JournalEntry
export function postAccrualAndReversal(Ledger ledger, JournalEntry accrual, string reversalId)->LedgerParameters: ledger: Ledger, accrual: JournalEntry, reversalId: string
Accounting.reconcile
export function reconcile(decimal bankBalance, decimal bookBalance, decimal depositsInTransit, decimal outstandingChecks, decimal bankCredits, decimal bankCharges)->ReconciliationParameters: bankBalance: decimal, bookBalance: decimal, depositsInTransit: decimal, outstandingChecks: decimal, bankCredits: decimal, bankCharges: decimal
export record Reconciliation(public decimal adjustedBank, public decimal adjustedBook, public decimal difference, public bool reconciled)Parameters: adjustedBank: decimal, adjustedBook: decimal, difference: decimal, reconciled: bool
Accounting.report
export function report(Ledger ledger)->LedgerReportParameters: ledger: Ledger
Accounting.restore
export function restore(LedgerSnapshot value)->LedgerParameters: value: LedgerSnapshot
export function revalueForeignCurrencyBalances(Ledger ledger, string[] currencies, decimal[] currentBasePerCurrency)->FxRevaluationReportParameters: ledger: Ledger, currencies: string[], currentBasePerCurrency: decimal[]
Accounting.reverseEntry
export function reverseEntry(Ledger ledger, string sourceId, string reversalId)->LedgerParameters: ledger: Ledger, sourceId: string, reversalId: string
Accounting.snapshot
export function snapshot(Ledger ledger)->LedgerSnapshotParameters: ledger: Ledger
export function straightLineDepreciation(decimal cost, decimal residualValue, int usefulPeriods)->decimalParameters: cost: decimal, residualValue: decimal, usefulPeriods: int
Accounting.trialBalance
export function trialBalance(decimal[] debitBalances, decimal[] creditBalances)->JournalTotalsParameters: debitBalances: decimal[], creditBalances: decimal[]
Accounting.trialBalanceAsOf
export function trialBalanceAsOf(Ledger ledger, int throughPeriod)->AsOfTrialBalanceParameters: ledger: Ledger, throughPeriod: int
Documentation version
Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.