accounting-api
List names of stuff from the VIS budget
View readme on GitLab
accounting.proto
syntax = "proto3";
package accounting;
// An API key must be provided in an "authorization" header in GRPC metadata.
service Accounting {
// ListProjectAccounts returns a list of ProjectAccounts in no specific order.
rpc ListProjectAccounts(ListProjectAccountsRequest)
returns (stream ProjectAccount);
}
message ListProjectAccountsRequest {}
// A ProjectAccount describes an account combined with a project.
// This object is at the granularity that most non-accounting-focused tools
// should use for dealing with accounting concepts. See the descriptions of
// each field for more information.
message ProjectAccount {
// opaque_key uniquely identifies a ProjectAccount. It should not be parsed.
// It could be up to 1024 characters long.
string opaque_key = 1;
// A single cost center (Kostenstelle) corresponds to a single colored group
// in the VIS budget. Examples are "Büro und Aufenthaltsraum" or "FKK". Cost
// centers contain projects.
int32 cost_center_id = 2;
string cost_center_display_name = 3;
// A project (Projekt) corresponds to a single row in the VIS budget.
// Examples are "Kaffee-Maschine 3.0" or "VISKAS".
// Projects are contained in cost centers.
// Note that on the VIS budget, project IDs start with "x" (eg. "x206"). The
// project ID returned by this API only includes the number without "x".
int32 project_id = 4;
string project_description = 5;
// An account (Sachkonto) describes the expected type of expense or revenue.
// Examples are "Ertrag Veranstaltungen - Bar/Party/Gastgewerbe" (ID 3110) or
// "Eintritt Veranstaltungen Bildung / Sport / Kultur (steuerfrei)" (ID 3100).
// Accounts are not contained within projects. Instead, a (project, account)
// pair uniquely identifies a ProjectAccount.
int32 account_id = 6;
string account_description = 7;
}