Accounting & the ledger

How operations become journal entries: accounts, periods, the postings behind every flow, and setting up accounting at a cutover date.

Shipping, receiving, job completion, and asset depreciation can each post to the . This page describes their shared accounting behavior.

Before and after accounting is set up

Every company posts journals for its receipts, shipments, invoices, payments, adjustments and jobs. The company's decides only the journal's status. A company with no cutover date writes journals: they record the document's accounting, but no balance or report counts them, and they have no accounting period. After you set up accounting, every posting writes a Posted journal.

Cost layers, inventory valuation, fixed-asset cost, deferred revenue schedules and intercompany records do not wait for the cutover. Every company writes them from the first document.

A new company starts without a cutover date. It posts Provisional journals on Carbon's default chart of accounts until you set up accounting, so you can import your own chart before anything is Posted.

The journal

Each creates a with balanced journal lines: debits are positive and credits are negative. The journal records its source type. Each line references an account and can include dimensions. Voiding a posted journal creates a reversing journal instead of deleting the original.

StatusMeaning
DraftA manual journal entry that is not posted yet, or the trial balance that the setup wizard saves as an Opening Balance journal. It counts nowhere.
ProvisionalAn automatic posting before the company's cutover. It counts nowhere and has no accounting period.
PostedCounts in every balance and report.
ReversedA posted journal that a reversing journal offsets. Both count, so they net to zero.
Before cutoverA Provisional journal dated before the cutover date. Setting up accounting replaced it with the opening journal, and it can never change. The journal list hides these unless you filter the status column for them.
Source typePosted by
Sales ShipmentPosting a shipment: relieves inventory to COGS.
Sales InvoicePosting a sales invoice: receivable against sales revenue, shipping revenue, and sales tax payable, on separate lines.
Purchase ReceiptPosting a receipt: inventory or WIP against GR/IR.
Purchase InvoicePosting a supplier bill: payables, clearing GR/IR.
Inventory AdjustmentManual adjustments and inventory count variances: stock gains and losses against the inventory adjustment account.
Job Consumption / Production Event / Job ReceiptA job consuming material, logging time, and finishing into inventory.
Job CloseSweeping a job's residual work-in-process to variance.
Asset Depreciation / Asset DisposalDepreciation runs and asset write-offs.
Revenue Recognition / Lease RunRevenue recognition and lease runs.
LeaseA lease you pay: its commencement or opening balance, a modification, a termination, or a purchase. Also a rental unit treated as a sale: its commencement and its return.
Opening BalanceSetting up accounting: the balances at the end of the day before the cutover. It never syncs to an accounting provider.

Accounts come from one place

Carbon resolves posting accounts from one set of company defaults. It does not use per-group posting groups. These defaults recur across accounting flows:

AccountUsed for
InventoryValue of stock on hand.
Work in processCost accumulating on open jobs.
Cost of goods soldCost relieved when goods are sold.
Accounts receivable / payableCustomer and supplier balances.
SalesRevenue from goods and services sold.
Shipping revenueShipping charged to the customer — its own revenue leaf, never the sales account.
Goods received, not invoicedThe accrual between receiving goods and being billed for them.
VarianceDifferences swept at job close or from purchase price.

A sales invoice line separates shipping, tax, and merchandise. Line shipping and its share of header-level shipping credit shipping revenue; tax credits sales tax payable; merchandise and add-ons credit sales. The sales and shipping-revenue defaults must reference different accounts. Posting fails if both resolve to the sales account. New companies receive account 4040 "Shipping Revenue" under Revenue; companies joining an existing group inherit the group's shipping default.

Dimensions

A journal line can include dimensions for location, department, cost center, item posting group, work center, process, or fixed-asset class. Dimensions support segmented reporting without expanding the chart of accounts.

Periods

Every Posted journal belongs to an , which Carbon creates and activates as needed. A Provisional journal has no period, and Carbon creates no periods until accounting is set up. A period can be Open, Closed, or Locked. Receipts, shipments, invoices, and payments cannot post to a Closed or Locked period. Reopen or unlock the period, or change the posting date to an open period. See period close.

Revenue recognition and lease runs

Two monthly runs post the entries that revenue and leases schedule ahead. Each run takes the entries of its own type that are due by its period end. Posting it writes one journal for each month those entries fall in.

RunWherePosts
Revenue recognitionAccounting → Closing → Revenue RecognitionDeferred revenue of invoice lines with service dates, and contract revenue. Source type Revenue Recognition.
Accounting → Closing → LeasesLease interest and right-of-use amortization, rental agreement rent to defer or accrue, and sales-type lease interest. Source type Lease Run.

On the first day of each month Carbon proposes a draft run of each type for the month that just ended. Posting a run stays a manual step. A period holds at most one draft run of each type. The period close checklist checks each type separately, with the tasks "Recognize revenue for the period" and "Post lease journals". To undo a posted run, reverse the run: its journals cannot be reversed one at a time.

Setting up accounting

Setting up accounting opens your books in Carbon at a cutover date. Carbon takes the open items it already knows (for example invoices, unapplied payments, goods received but not invoiced, open jobs, stock and fixed assets) and your prior system's trial balance, and posts one opening journal from them. Open it from Settings → Accounting with Set up accounting. Until it is done, the Reporting, Journal Entries, Intercompany, Accounting Periods, Depreciation and Assets pages are blurred behind an overlay that reads "Accounting is not set up for this company." and has a Set up accounting button. You need permission to view accounting to open the wizard, and to update accounting to save a step or enable. Editing an item's unit cost on the Inventory step needs permission to update parts.

Every check must pass before you can continue.

Chart of Accounts. Import your own chart of accounts, or continue to keep Carbon's. Do this first: the trial balance step matches accounts by number.

Readiness. Choose the cutover date: the first day of the current month, or of one of the 3 months before it. The opening balances are as of the end of the day before. All 6 checks must pass:

  • Every account default is set: each default account is set to an active account. A default that falls back to another one, such as Employee Reimbursements Payable, can stay empty. Migration Clearing must be an active Equity account that is not a group. Each failing default links to Accounting → Default Accounts.
  • Fiscal year and base currency are set.
  • The cutover date is valid: the first day of a period, not after today, and at most 3 periods before the current one.
  • No unposted documents dated before the cutover: no receipt, shipment or invoice that is Draft or Pending, and no Draft payment or memo. Post or delete them.
  • No open jobs with costs from before Carbon recorded them: no open job had material issued, output completed, time or quantities reported before Carbon started recording costs. Complete or cancel them. A Draft, Planned or Ready job with no such activity does not block.
  • No posted opening balance: the company has no Posted Opening Balance journal.

Inventory. Each item's on-hand quantity at the cutover date across all locations, and its unit cost. You can edit the unit cost of an Average item only. A FIFO or LIFO item opens at the value of its cost layers dated before the cutover, and a Standard item opens at its standard cost. The page totals the opening value per inventory account.

Fixed assets. Each asset on the books the day before the cutover, with its cost, accumulated depreciation and net book value as of that day. No depreciation run happens before the cutover, so enter each asset's accumulated depreciation here.

Trial balance. Enter your prior system's trial balance as of the day before the cutover, for every account, or Import CSV with the columns accountNumber, debit and credit. An import replaces the whole trial balance and saves nothing when a row has an error. Save Trial Balance keeps it as a Draft Opening Balance journal, which the opening journal replaces when you enable. Accounts marked Control (receivables, payables, inventory, work in process and the others Carbon opens from its own records) are only compared: the Migration Clearing table shows, per control account, the trial balance amount, Carbon's opening total and the difference.

Enable. The summary lists the documents posted before Carbon kept journals, per type, when there are any (see below). Migration Clearing must total zero and every readiness check must pass. Type the company name and press Enable accounting.

When you enable, Carbon:

  • Writes the journals of documents posted before Carbon kept journals that are dated on or after the cutover.
  • Resets each item's stock to its on-hand quantity at the cutover date at the reviewed unit cost, and recosts the outbound stock movements of FIFO and LIFO items dated on or after it.
  • Posts the opening journal, dated the day before the cutover, against . Each open invoice, unapplied payment, received but not invoiced order line, invoiced but not received order line and open job gets its own opening line, so a later payment, supplier invoice or job close finds it as if the original posting had written it. Each active lease that started before the cutover gets opening lines for its liability, right-of-use asset and accumulated amortization.
  • Turns Provisional journals dated on or after the cutover into Posted, and those dated before it into Before cutover.
  • Closes every accounting period that ends before the cutover date.

Documents posted before Carbon kept journals. A posted document can have no journal: one posted while Carbon wrote no journals for the company. The opening journal covers such a document only when it is dated before the cutover. For one dated on or after the cutover, Carbon writes the journal its posting writes today, when you enable.

That journal uses today's account defaults and item costs, because the original ones are not stored. This covers invoices, memos, payments, charges, reimbursements, receipts, shipments, inventory adjustments and counts, non-conformance scrap, maintenance parts, job material issues and completions, depreciation runs, scrap disposals, and revenue recognition and lease runs.

Labor and machine absorption of a job is not written again. Carbon does not send a rewritten depreciation, disposal or recognition journal to your accounting provider on its own, because the provider may already hold the original.

Journals still missing after the enable. A company that set up accounting before the enable wrote these journals can still have posted documents dated on or after its cutover with no journal. Settings → Accounting then shows a warning with the number of such documents and a Write missing journals button. The button writes the same journals the enable writes, with today's account defaults and item costs, and posts them. It needs permission to update settings and to update accounting. If one of the journals falls in a Closed or Locked period, Carbon writes none of them.

HEADS UP

Setting up accounting cannot be undone

The cutover date never changes after you enable. The base currency and the fiscal year start month lock too.

Importing your chart of accounts

Every company starts on Carbon's default chart of accounts. To use your own, open Accounting → Chart of Accounts and press Import. The button shows until accounting is set up in every company of the group, and needs permission to update accounting.

The import needs two CSV files:

FileWhat it says
Chart of accountsWhich accounts exist. One row per account, with its number, name, class, type and group.
Default accountsWhich of your accounts each default account is. Carbon posts to default accounts, such as Receivables or Inventory, and to the accounts of each fixed asset class.

Upload your chart. Export it from your current system. Carbon reads the column names most systems use: Account Number, Code or GL Account for the number; Account Name or Name for the name; Class, Account Type or Category for the class; Subtype or Detail Type for the type; and Group or Parent Grouping for the group. A class column that holds a type, such as Bank, is read as that type and its class. A row whose Status is Inactive is left out. To start from Carbon's chart instead, press Download template: it lists the current accounts in the columns the import reads.

Download the default accounts template and fill it in. It has one row per default account, with the account it uses now in Current Account. In Account Number, enter the number of the account in your chart that takes it. A row marked Required needs a number.

Upload the default accounts. The review lists what the import does, and every error with its file and line number. Fix errors in the files and upload them again.

Apply. Carbon applies both files in one step, or nothing. Afterwards the chart's accounts are exactly the rows of your chart.

What the import does with each Carbon account:

  • A Carbon account behind a default account becomes the account the template names for it. It keeps its documents and its default accounts, and takes your number, name, class, type and group.
  • When one of your accounts takes several default accounts, the Carbon account of the first one in the template becomes it, and the others merge into it.
  • A Carbon account whose number matches a row that no default account took becomes that row.
  • Every other Carbon account is deleted. If documents or journals still use it, posted documents included, it appears under These accounts need a replacement: pick the account in your chart that takes them over. A pick stays on the list until you upload a file again, so you can change it.
  • A row of your chart that no Carbon account becomes is created. A group that does not exist yet is created, and a group left with no accounts is deleted.

The chart is shared by every company in the group, so the import changes it for all of them. The review lists each company whose documents or journals move to another account.

An account that documents, journals or default accounts use cannot be deleted. Delete says so and stays disabled.

Until accounting is set up, Carbon refuses manual journal entries, depreciation runs, revenue recognition and lease runs, intercompany eliminations and period close.

After the cutover, a document dated before it keeps its status, with some limits:

  • Pay an invoice from before the cutover as usual. The payment settles its opening line.
  • Void a payment or a memo from before the cutover as usual, except the credit memo below. Carbon posts the reversal today.
  • A sales invoice from before the cutover cannot be voided: issue a credit memo instead. A purchase invoice: record a debit memo instead.
  • A receipt or a shipment from before the cutover cannot be voided: record a return or an inventory adjustment instead.
  • A charge or a reimbursement from before the cutover cannot be voided: record a journal entry to correct it instead.
  • A credit memo from before the cutover that credits a contract or a rental agreement cannot be voided: invoice the customer for the amount instead.
  • A job or maintenance time entry posted before the cutover cannot be edited, deleted or posted again: record a journal entry to correct it instead.