Skip to content

UPC templates

The UPC templates are our own neutral layouts, one per list. Use them when your software has no layout UPC Accounting already reads: it is the simplest way to bring books in, and the most general way to take them out. The same templates are written by the exports, so a file exported from one set of UPC books imports into another with equal balances.

RuleDetail
FilesOne CSV per template, or one .xlsx workbook with a sheet per template, named as below (sheet names ignore case)
Header rowOne row with these exact names, in any order. Extra columns are ignored.
Required columnsShown in bold; the header must be there, and the value too unless noted
DatesISO yyyy-MM-dd
Amounts. as the decimal mark, no thousands grouping, no currency symbol
CodesCase-sensitive
ActiveTRUE or FALSE; empty means TRUE
EncodingUTF-8 (a byte-order mark is fine). Exports write UTF-8 with a byte-order mark, CRLF line ends and RFC 4180 quoting.
Size25 MB per file; 5,000 entries and 25,000 lines per import

Sheet Accounts. The chart of accounts.

ColumnValue
CodeThe account code
NameThe account name
ClassASSET, LIABILITY, EQUITY, INCOME or EXPENSE
Type, SubtypeThe source program’s own type and detail type (free text)
ParentCodeThe parent account’s code
CurrencyISO 4217 code, when the account is in another currency
TaxCodeThe account’s default tax code
DescriptionFree text
ActiveTRUE / FALSE
Code,Name,Class,Type,Subtype,ParentCode,Currency,TaxCode,Description,Active
1000,Chequing,ASSET,Bank,,,CAD,,Operating account,TRUE
3000,Owner's capital,EQUITY,Equity,,,,,,TRUE
5200,Grooming supplies,EXPENSE,Expense,Supplies,,,,,TRUE

Accounts are not created on their own: in the import wizard the member maps each one to an account of the books, or chooses to create it.

Sheet Parties. Customers, suppliers and employees.

ColumnValue
KindCUSTOMER, VENDOR or EMPLOYEE
CodeYour stable code for the party; matched before the name
NameThe display name
CompanyName, FirstName, LastNameFree text
Email, PhoneFree text
TaxNumberThe party’s tax or VAT number
CurrencyISO 4217 code
AddressLine1, AddressLine2, City, Region, PostalCode, CountryThe address
OpenBalanceNot posted: balances belong in the trial balance
ActiveTRUE / FALSE
NotesFree text
Kind,Code,Name,CompanyName,FirstName,LastName,Email,Phone,TaxNumber,Currency,AddressLine1,AddressLine2,City,Region,PostalCode,Country,OpenBalance,Active,Notes
VENDOR,V-001,Kibble Wholesale,Kibble Wholesale Inc.,,,orders@example.com,,,CAD,1 Example Road,,Springfield,BC,V0V 0V0,CA,,TRUE,
CUSTOMER,C-001,Jane Doe,,Jane,Doe,jane.doe@example.com,,,CAD,,,,,,,,TRUE,

Sheet Items. Products and services. Listed in the import check, not imported: the books keep no item list.

ColumnValue
CodeYour item code
NameThe item name
KindSERVICE, INVENTORY, NON_INVENTORY, BUNDLE or OTHER
DescriptionFree text
SalesPrice, PurchaseCostAmounts
IncomeAccount, ExpenseAccount, AssetAccountAccount codes
TaxCodeThe item’s tax code
QuantityOnHandA number
ActiveTRUE / FALSE

Sheet Journal. One row per journal line: the most general way to move entries in or out.

ColumnValue
EntryNumberRows sharing it form one entry, which must balance
DateThe entry date
DocumentDateThe date of the source document
JournalCodeYour journal or source code
ReferenceThe document’s reference
EntryMemoThe entry’s description
AccountCodeThe account’s code
AccountNameThe account’s name
DebitA non-negative amount in the books’ currency (empty when the line is a credit)
CreditA non-negative amount in the books’ currency (empty when the line is a debit)
LineMemoThe line’s description
PartyKindCUSTOMER, VENDOR, EMPLOYEE or empty
PartyCode, PartyNameThe line’s customer, supplier or employee
ClassA class or tracking category (up to 60 characters are kept)
LocationA location, mapped to the business’s locations
TaxCode, TaxAmountThe line’s tax code and tax amount
CurrencyISO 4217 code of a foreign-currency line
ForeignAmountThe amount in Currency, signed: positive for a debit
ExchangeRateBooks’ currency units per one unit of Currency (for example 1.365 CAD per USD)

Keep EntryNumber stable between exports: it is part of how an entry already imported is recognized and skipped.

EntryNumber,Date,DocumentDate,JournalCode,Reference,EntryMemo,AccountCode,AccountName,Debit,Credit,LineMemo,PartyKind,PartyCode,PartyName,Class,Location,TaxCode,TaxAmount,Currency,ForeignAmount,ExchangeRate
GJ-0042,2026-09-03,2026-09-01,PURCH,INV-1042,Kibble Wholesale invoice 1042,5200,Grooming supplies,45.67,,Dog treats,VENDOR,V-001,Kibble Wholesale,Grooming,Downtown,,,,,
GJ-0042,2026-09-03,2026-09-01,PURCH,INV-1042,Kibble Wholesale invoice 1042,1000,Chequing,,45.67,,VENDOR,V-001,Kibble Wholesale,Grooming,Downtown,,,,,
GJ-0043,2026-09-10,,GJ,,Shears bought in USD,5200,Grooming supplies,136.50,,,,,,,,,,USD,100.00,1.365
GJ-0043,2026-09-10,,GJ,,Shears bought in USD,1010,US dollar account,,136.50,,,,,,,,,USD,-100.00,1.365

Sheet TrialBalance. Balances as of one date; it becomes the books’ opening entry (at most 500 lines, any difference to opening balance equity). See Opening balances.

ColumnValue
AsOfDateThe date of the balances (one date per file)
AccountCodeThe account’s code
AccountNameThe account’s name
DebitA non-negative amount (empty for a credit balance)
CreditA non-negative amount (empty for a debit balance)
CurrencyThe currency of the amounts

Total debits should equal total credits.

AsOfDate,AccountCode,AccountName,Debit,Credit,Currency
2026-08-31,1000,Chequing,4000.00,,CAD
2026-08-31,3000,Owner's capital,,4000.00,CAD

When the books export this template, AsOfDate is the start of the exported period: the balances brought forward into it.

Sheet OpenItems. Invoices and bills still open at the cut-over date. Listed in the import check, not imported: put their balances in the trial balance (receivables and payables).

ColumnValue
KindINVOICE, BILL, CREDIT_NOTE or VENDOR_CREDIT
NumberThe document number
PartyCodeThe party’s code
PartyNameThe party’s name
IssueDate, DueDateDates
CurrencyISO 4217 code
TotalThe document total
OpenBalanceWhat is still open
MemoFree text
  • Fixed assets and employees templates are not defined yet.
  • The payroll template is recognized but not imported; see Payroll provider registers.