Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Budget ¶
type Budget struct {
BudgetMetaData struct {
CurrencyLocale language.Tag `json:"currencyLocale"`
} `json:"budgetMetaData"`
Transactions []Transaction `json:"transactions"`
MonthlyBudgets []MonthlyBudget `json:"monthlyBudgets"`
Categories []Category `json:"masterCategories"`
ScheduledTransactions []ScheduledTransaction `json:"scheduledTransactions"`
Payees []Payee `json:"payees"`
Accounts []Account `json:"accounts"`
}
This has been converted from testdata/importer/Budget.yfull with the help of https://mholt.github.io/json-to-go/
Unused fields have been removed to keep the struct as small as possible.
type Category ¶
type Category struct {
SubCategories []SubCategory `json:"subCategories"`
EntityID string `json:"entityId"`
Name string `json:"name"`
Note string `json:"note"`
Deleted bool `json:"isTombstone"`
}
type IDToEnvelope ¶
type IDToEnvelopes ¶
type IDToEnvelopes map[string]IDToEnvelope
IDToEnvelopes maps the ID of a YNAB 4 subcategory to a category and envelope name for Envelope Zero.
type IDToName ¶
IDToName is a map of strings to a string.
Use it to map the YNAB 4 Entity IDs to the names to enable easier mapping.
type MonthlyBudget ¶
type MonthlyBudget struct {
Month types.Month `json:"month"`
MonthlySubCategoryBudgets []MonthlySubCategoryBudget `json:"monthlySubCategoryBudgets"`
}
type Payee ¶
type Payee struct {
EntityID string `json:"entityId"`
Name string `json:"name"`
RenameConditions []RenameCondition `json:"renameConditions"` // Currently unused, will be relevant for future renaming features in EZ
}
type RenameCondition ¶
type ScheduledTransaction ¶
type ScheduledTransaction struct {
TwiceAMonthStartDay int `json:"twiceAMonthStartDay"`
Amount decimal.Decimal `json:"amount"`
Frequency string `json:"frequency"`
AccountID string `json:"accountId"`
TargetAccountID string `json:"targetAccountId"` // Used for transfers
CategoryID string `json:"categoryId"`
Date string `json:"date"`
Accepted bool `json:"accepted"`
PayeeID string `json:"payeeId"`
EntityVersion string `json:"entityVersion"`
Cleared string `json:"cleared"`
Memo string `json:"memo"`
Flag string `json:"flag"`
}
TODO: Clean up when implementing https://github.com/envelope-zero/backend/issues/379
type SubCategory ¶
type Transaction ¶
type Transaction struct {
EntityID string `json:"entityId"`
Amount decimal.Decimal `json:"amount"`
CategoryID string `json:"categoryId"`
Date string `json:"date"`
Memo string `json:"memo"`
Deleted bool `json:"isTombstone"`
PayeeID string `json:"payeeId"`
AccountID string `json:"accountId"`
Cleared string `json:"cleared"`
Flag string `json:"flag"` // Currently unused, will be relevant for tagging: https://github.com/envelope-zero/backend/issues/20
TargetAccountID string `json:"targetAccountId"`
TransferTransactionID string `json:"transferTransactionId"`
SubTransactions []struct {
CategoryID string `json:"categoryId"`
Amount decimal.Decimal `json:"amount"`
Memo string `json:"memo"`
TargetAccountID string `json:"targetAccountId"`
TransferTransactionID string `json:"transferTransactionId"`
} `json:"subTransactions"`
}
Click to show internal directories.
Click to hide internal directories.