Kommandoradsgränssnittet
Bokfris CLI gör det möjligt att läsa, rapportera och skapa bokföringsdata utan att öppna det grafiska gränssnittet. Det är avsett för reproducerbara arbetsflöden, skript och integrationer.
Översikt
Textutdata för listor och rapporter visas i innehållsanpassade, justerade kolumner. Använd --format json för stabil maskinläsbar utdata.
CLI:t kan bland annat:
- välja företag och bokföringsår gemensamt med det grafiska gränssnittet,
- lista konton, verifikationer, kunder, produkter, leverantörer och fakturor,
- skapa kunder, produkter, fakturor, betalningar och manuella verifikationer från JSON,
- förhandsgranska och bokföra journaler, kreditfakturor och momsavräkning,
- skapa finansiella rapporter i text eller JSON,
- skapa, verifiera och återställa fullständiga säkerhetskopior,
- importera och exportera SIE-filer.
Den exakta syntaxen för den installerade versionen visas alltid med:
bokfri --help
bokfri invoice --help
bokfri invoice create --help
Starta CLI:t
Windows
MSI-installationen lägger kommandot bokfri i systemets PATH. Öppna ett nytt PowerShell- eller kommandotolksfönster efter installationen:
bokfri version
bokfri status
Utvecklingspaketet använder bokfri-dev, så release- och utvecklingsversionen kan finnas samtidigt.
macOS
CLI-launchern finns i app-paketet men installeras inte globalt av DMG-paketet:
/Applications/Bokfri.app/Contents/MacOS/Bokfri-cli version
För utvecklingspaketet ligger den normalt under /Applications/Bokfri Dev.app/Contents/MacOS/Bokfri-cli-dev.
Linux
AppImage-filen tar emot CLI-argument direkt. Gör filen körbar och använd dess sökväg:
chmod +x Bokfri-x86_64.AppImage
./Bokfri-x86_64.AppImage version
Från byggd JAR
Utvecklare kan använda allt-i-ett-JAR-filen. Filnamnet följer projektversionen:
java -jar target/bokfri-VERSION-jar-with-dependencies.jar version
I resten av guiden används bokfri som kortnamn för den startmetod som gäller på din plattform.
Välj datakatalog, företag och bokföringsår
De flesta kommandon behöver ett företag och ett bokföringsår. Börja med att visa Bokfris aktuella status och tillgängliga ID:n:
bokfri status
bokfri company list
bokfri --company-id 37 year list
CLI:t använder normalt samma sparade val som det grafiska gränssnittet. Ändra dem med:
bokfri company use 37
bokfri year list
bokfri year use 12
bokfri status
När ett företag väljs återställs det senast använda bokföringsåret för just det företaget, om ett sådant finns. Ett redan öppet grafiskt gränssnitt byter inte direkt; det läser det nya valet vid nästa start.
I skript kan valen anges tillfälligt för en enda körning. De sparade GUI/CLI-valen ändras då inte:
bokfri --company-id 37 --year-id 12 trial-balance
bokfri --data-dir "/sökväg/till/testdata" --company-id 37 --year-id 12 voucher list
Kontrollera och migrera databasformat
Databasmigrering är en separat administrationsåtgärd, inte ett val på vanliga kommandon:
bokfri database status
bokfri database migrate
database status visar upptäckt och stött dataformat. database migrate skapar och verifierar först en fullständig backup, migrerar därefter databasen och skriver ut backupens sökväg. Om databasen redan har aktuellt format görs ingen ändring. Använd --data-dir för att kontrollera eller migrera en alternativ datakatalog.
Skapa ett nytt företag och år
Ett tomt dataområde kan byggas upp från JSON:
bokfri account-plan list
bokfri company create --file company.json
bokfri --company-id 37 year create --file year.json
{
"name": "Exempel AB"
}
{
"from": "2026-01-01",
"to": "2026-12-31",
"accountPlanId": 7
}
Använd sedan company use och year use med de ID:n som kommandona returnerar.
Globala val
| Val | Betydelse |
|---|---|
--data-dir KATALOG | Använd en annan Bokfri-datakatalog för denna körning. |
--company-id ID | Åsidosätt sparat företag för denna körning. |
--year-id ID | Åsidosätt sparat bokföringsår för denna körning. |
--format text|json | Välj läsbar text eller maskinläsbar JSON. |
Globala val fungerar både före och efter underkommandot:
bokfri --format json company list
bokfri company list --format=json
bokfri vat report --company-id=37 --year-id=12
Säkra förhandsgranskningar
Bokfri använder tre återkommande mönster för att minska risken för oavsiktliga ändringar:
| Mönster | Skriver data? | Användning |
|---|---|---|
validate --file … | Nej | Validerar JSON och referenser. |
create --dry-run --file … | Nej | Visar objektet och konteringen som skulle skapas. |
create --file … | Ja | Skapar objektet efter samma validering. |
Journal utan --commit | Nej | Visar planerad verifikation. |
Journal med --commit | Ja | Sparar verifikationen och uppdaterar berörda objekt. |
bokfri voucher validate --file voucher.json
bokfri voucher create --dry-run --file voucher.json
bokfri voucher create --file voucher.json
bokfri invoice journal --from 2026-08-01 --to 2026-08-31
bokfri invoice journal --from 2026-08-01 --to 2026-08-31 --commit
company use och year use ändrar det sparade valet direkt. Kontrollera alltid kommandots --help.Konton
Lista alla konton i valt bokföringsår eller filtrera listan skiftlägesokänsligt på kontonummer eller beskrivning:
bokfri account list
bokfri account list --filter 193
bokfri account list --filter bank
Rapporter
Rapporter använder det valda bokföringsåret som säker standardperiod:
| Kommando | Standard utan datum |
|---|---|
trial-balance | Hela bokföringsåret |
income-statement | Hela bokföringsåret |
general-ledger | Hela bokföringsåret |
balance-sheet | Bokföringsårets sista dag |
account balance | Bokföringsårets sista dag |
vat report | Hela bokföringsåret |
bokfri trial-balance
bokfri income-statement --format json
bokfri balance-sheet
bokfri general-ledger --account 1930
bokfri account balance 1930
Rapporter som också finns som utskrifter i det grafiska gränssnittet kan skrivas till samma Jasper-baserade PDF:
bokfri income-statement --output resultatrapport.pdf
bokfri balance-sheet --output balansrapport.pdf
bokfri general-ledger --account 1930 --output huvudbok-1930.pdf
--format text|json styr fortfarande svaret på standardutmatningen. --output skapar PDF-filen och --overwrite krävs för att ersätta en befintlig fil.
För en delperiod måste både --from och --to anges. Punktdatum anges med --date. Datum måste ligga inom valt bokföringsår.
bokfri income-statement --from 2026-01-01 --to 2026-03-31
bokfri balance-sheet --date 2026-03-31
Försäljning
Kunder och produkter
bokfri customer list
bokfri customer show 1001
bokfri customer validate --file customer.json
bokfri customer create --dry-run --file customer.json
bokfri customer create --file customer.json
bokfri product list
bokfri product show CONSULTING
bokfri product validate --file product.json
bokfri product create --dry-run --file product.json
bokfri product create --file product.json
Kundfakturor
bokfri invoice validate --file invoice.json
bokfri invoice create --dry-run --file invoice.json
bokfri invoice create --file invoice.json
bokfri invoice list
bokfri invoice show 42
bokfri invoice pdf 42 --output faktura-42.pdf
bokfri invoice journal --from 2026-08-01 --to 2026-08-31
bokfri invoice journal --from 2026-08-01 --to 2026-08-31 --commit
PDF-kommandot ändrar inte fakturans status. En befintlig fil skrivs bara över med --overwrite. Standardspråket är sv-SE. Kreditfakturor exporteras på samma sätt med bokfri credit-invoice pdf 7 --output kreditfaktura-7.pdf.
Kreditfakturor och inbetalningar
bokfri credit-invoice validate --file credit-invoice.json
bokfri credit-invoice create --dry-run --file credit-invoice.json
bokfri credit-invoice create --file credit-invoice.json
bokfri credit-invoice journal --from 2026-08-01 --to 2026-08-31 --commit
bokfri inpayment validate --file inpayment.json
bokfri inpayment create --dry-run --file inpayment.json
bokfri inpayment create --file inpayment.json
bokfri inpayment journal --from 2026-08-01 --to 2026-08-31 --commit
Kreditfakturan refererar till en bokförd kundfaktura. En inbetalning refererar till en bokförd faktura och får inte överstiga dess återstående saldo.
Inköp
Leverantörer och leverantörsfakturor
bokfri supplier validate --file supplier.json
bokfri supplier create --dry-run --file supplier.json
bokfri supplier create --file supplier.json
bokfri supplier-invoice validate --file supplier-invoice.json
bokfri supplier-invoice create --dry-run --file supplier-invoice.json
bokfri supplier-invoice create --file supplier-invoice.json
bokfri supplier-invoice journal --from 2026-08-01 --to 2026-08-31 --commit
Leverantörskrediter och utbetalningar
bokfri supplier-credit-invoice validate --file supplier-credit.json
bokfri supplier-credit-invoice create --dry-run --file supplier-credit.json
bokfri supplier-credit-invoice create --file supplier-credit.json
bokfri supplier-credit-invoice journal --from 2026-08-01 --to 2026-08-31 --commit
bokfri outpayment validate --file outpayment.json
bokfri outpayment create --dry-run --file outpayment.json
bokfri outpayment create --file outpayment.json
bokfri outpayment journal --from 2026-08-01 --to 2026-08-31 --commit
Verifikationer och ingående balans
Manuell verifikation
{
"schemaVersion": 1,
"date": "2026-08-02",
"description": "Webbhotell",
"rows": [
{"account": 6540, "debit": "199.20"},
{"account": 2641, "debit": "49.80"},
{"account": 1930, "credit": "249.00"}
]
}
bokfri voucher validate --file voucher.json
bokfri voucher create --dry-run --file voucher.json
bokfri voucher create --file voucher.json
bokfri voucher list --from 2026-08-01 --to 2026-08-31
bokfri voucher show 42
Debet och kredit måste balansera. Belopp bör anges som decimalsträngar för exakt precision.
Ingående balans och nytt år
I ingående balans är positiva belopp debet och negativa belopp kredit:
{
"balances": [
{"account": 1930, "amount": "100000.00"},
{"account": 2081, "amount": "-100000.00"}
]
}
bokfri opening-balance validate --file opening-balance.json
bokfri opening-balance set --dry-run --file opening-balance.json
bokfri opening-balance set --file opening-balance.json
bokfri opening-balance show
bokfri opening-balance carry-forward --from-year-id 12
bokfri opening-balance carry-forward --from-year-id 12 --commit
carry-forward överför bara balanskonton från källåret till det valda året.
Verifikationsutskrifter
bokfri voucher list --output verifikationer.pdf
bokfri voucher list --from 2026-07-01 --to 2026-07-31 --output juli.pdf
bokfri voucher show 12 --output verifikation-12.pdf
Filtrering med --from, --to och --limit gäller både listresultatet och PDF-filen.
Momsrapport och momsavräkning
Rapporten är alltid läsande. Utan datum omfattar den hela valt bokföringsår:
bokfri vat report
bokfri vat report --from 2026-07-01 --to 2026-09-30
Momsavräkningen kräver en uttrycklig period. Utan --commit visas bara den planerade verifikationen:
bokfri vat settle --from 2026-07-01 --to 2026-09-30
bokfri vat settle --from 2026-07-01 --to 2026-09-30 --commit
Bokfri skickar inte momsdeklarationen till Skatteverket. Kontrollera rapporten och bokföringen innan avräkningen sparas.
Backup och SIE
Fullständig säkerhetskopia
bokfri backup create --output bokfri-backup.zip
bokfri backup list
bokfri backup verify --file bokfri-backup.zip
Återställning kräver en målkatalog och är en förhandsgranskning tills --commit anges:
bokfri backup restore --file bokfri-backup.zip \
--target-data-dir "/ny/bokfri-data"
bokfri backup restore --file bokfri-backup.zip \
--target-data-dir "/ny/bokfri-data" --commit
Använd --overwrite endast när en befintlig databas i målkatalogen avsiktligt ska ersättas.
SIE-export
bokfri sie export --output foretag.se
bokfri sie export --type 1 --output arssaldon.se
Standardtypen är 4E. Typerna 1, 2, 3 och 4E stöds. Befintliga filer kräver --overwrite.
SIE-import
bokfri sie import --file foretag.se
bokfri sie import --file foretag.se --commit
bokfri sie import --file verifikationer.se --vouchers-only --commit
Importen är en förhandsgranskning som standard. Bokfri ändrar inte källfilen och registrerar innehållets SHA-256 för att motverka dubbelimport. --allow-already-imported ska bara användas efter kontroll.
JSON-filer
Datum skrivs som ÅÅÅÅ-MM-DD. Pengar bör skrivas som strängar, exempelvis "1250.00". Okända fält avvisas så att stavfel inte ignoreras tyst. Många kommandon accepterar --file - för JSON från standard input.
Genererade JSON Schemas
Alla Bokfri-kommandon som tar JSON-indata kan skriva ett JSON Schema Draft 2020-12 direkt till standard output:
bokfri voucher schema > voucher.schema.json
bokfri invoice schema > invoice.schema.json
bokfri customer schema > customer.schema.json
Schemat genereras vid körning från samma Java-indataklass och strukturella valideringsannoteringar som kommandot använder. Det kräver ingen databas och kan användas av editorer, integrationer och kodgeneratorer. Schemat kontrollerar JSON-strukturen; validate kontrollerar dessutom databasberoende regler som konton, bokföringsår och balansering.
Kund
{
"number": "1001",
"name": "Exempel AB",
"email": "faktura@exempel.se"
}
Produkt
{
"number": "CONSULTING",
"description": "Konsultarbete",
"sellingPrice": "1200.00",
"vatRate": "25",
"salesAccount": 3001
}
Kundfaktura
{
"customerNumber": "1001",
"date": "2026-08-05",
"rows": [
{"productNumber": "CONSULTING", "quantity": 10}
]
}
Inbetalning
{
"date": "2026-08-20",
"text": "Bankinbetalningar 2026-08-20",
"rows": [
{"invoiceNumber": 42, "amount": "15000.00"}
]
}
Objekttyperna har fler frivilliga fält än exemplen visar. Kör motsvarande validate och create --dry-run innan data sparas.
Kommandoöversikt
| Område | Kommandon |
|---|---|
| System | version, status, database |
| Urval | company, account-plan, year, account |
| Rapporter | trial-balance, balance-sheet, income-statement, general-ledger, vat report |
| Bokföring | voucher, opening-balance, vat settle |
| Försäljning | customer, product, invoice, credit-invoice, inpayment |
| Inköp | supplier, supplier-invoice, supplier-credit-invoice, outpayment |
| Datautbyte | backup, sie |
De flesta objektsamlingar har list och show. Skrivande JSON-flöden har normalt schema, validate och create. Se alltid den installerade versionens --help för alla parametrar.
JSON-utdata och automatisering
--format json skriver ett JSON-dokument till standard output. Vid fel returneras en icke-noll exitkod och ett stabilt felobjekt till standard error när JSON-format är valt.
bokfri company list --format json
bokfri trial-balance --format json > trial-balance.json
Använd explicita --data-dir, --company-id och --year-id för isolerade tester och automatiska skript. Låt inte automatiska skript lägga till --commit förrän förhandsgranskningen har kontrollerats.
Felsökning
bokfrihittas inte på Windows- Öppna ett nytt terminalfönster efter MSI-installationen. Kontrollera med
Get-Command bokfri. Utvecklingspaketet heterbokfri-dev. COMPANY_REQUIREDellerYEAR_REQUIRED- Kör
bokfri company use IDochbokfri year use ID, eller ange--company-idoch--year-idför den aktuella körningen. DATABASE_MIGRATION_REQUIRED- Kontrollera formatet med
bokfri database statusoch kör sedanbokfri database migrate. En verifierad backup skapas före migreringen. - Rapportperioden avvisas
- Datum måste ligga inom valt bokföringsår. Periodrapporter kräver både
--fromoch--toom ett av dem anges. - En fil finns redan
- Bokfri skriver normalt inte över filer. Kontrollera filen och använd
--overwriteendast när ersättning är avsiktlig. - Databasen används av GUI:t
- Avsluta Bokfris GUI innan ett skrivande CLI-kommando eller en återställning körs mot samma datakatalog.
Kontrollera miljön med:
bokfri version
bokfri status
bokfri database status