💶 Budget 2021-T1

pull/1484/head
Maxime Quandalle 2021-04-14 11:41:16 +02:00
parent 7af1ae98a1
commit f42fe2a004
3 changed files with 34 additions and 10 deletions

View File

@ -5,6 +5,7 @@ import { formatValue } from 'publicodes'
import { sum, uniq } from 'ramda'
import { useState } from 'react'
import emoji from 'react-easy-emoji'
import { Helmet } from 'react-helmet'
import { useTranslation } from 'react-i18next'
import styled from 'styled-components'
import { TrackPage } from '../../ATInternetTracking'
@ -17,21 +18,23 @@ const [
intro,
ressources2019,
ressources2020,
ressources2021,
ressourcesDescription,
] = prose.split(/\r?\n-{3,}\r?\n/)
const ressources = {
2019: ressources2019,
2020: ressources2020,
2021: ressources2021,
}
export default function Budget() {
const years = ['2019', '2020'] as const
const years = ['2019', '2020', '2021'] as const
const quarters = ['T1', 'T2', 'T3', 'T4']
const [selectedYear, setSelectedYear] = useState<typeof years[number]>('2020')
const [selectedYear, setSelectedYear] = useState<typeof years[number]>('2021')
const categories = uniq(
quarters
.map((q) => Object.keys(budget[2020][q] ?? {}))
.map((q) => Object.keys(budget[selectedYear]?.[q] ?? {}))
.reduce((acc, curr) => [...acc, ...curr], [])
)
@ -39,6 +42,9 @@ export default function Budget() {
return (
<>
<TrackPage chapter1="informations" name="budget" />
<Helmet>
<title>Le budget de mon-entreprise.fr</title>
</Helmet>
<ScrollToTop />
<h1>Budget {emoji('💶')}</h1>
<Markdown source={intro} />
@ -67,7 +73,7 @@ export default function Budget() {
<RessourcesAllocationTable>
<thead>
<tr>
<td>2020</td>
<td>{selectedYear}</td>
{quarters.map((q) => (
<td key={q}>{q}</td>
))}
@ -79,7 +85,7 @@ export default function Budget() {
<tr key={label}>
<td>{label}</td>
{quarters.map((q) => {
const value = budget[2020]?.[q]?.[label]
const value = budget[selectedYear]?.[q]?.[label]
return (
<td key={q}>
{value
@ -94,7 +100,9 @@ export default function Budget() {
<td>
{formatValue(
sum(
quarters.map((q) => budget[2020]?.[q]?.[label] ?? 0)
quarters.map(
(q) => budget[selectedYear]?.[q]?.[label] ?? 0
)
),
{
displayedUnit: '€',
@ -109,7 +117,9 @@ export default function Budget() {
<tr>
<td>Total</td>
{quarters.map((q) => {
const value = sum(Object.values(budget[2020]?.[q] ?? {}))
const value = sum(
Object.values(budget[selectedYear]?.[q] ?? {})
)
return (
<td key={q}>
{value
@ -125,7 +135,7 @@ export default function Budget() {
{formatValue(
sum(
quarters.map((q) =>
sum(Object.values(budget[2020]?.[q] ?? {}))
sum(Object.values(budget[selectedYear]?.[q] ?? {}))
)
),
{

View File

@ -60,12 +60,20 @@ programme est financé par la [DINUM](https://www.numerique.gouv.fr/dinum/).
---
## Budget
En 2021 l'[Urssaf Caisse Nationale](https://www.acoss.fr) renouvelle le budget annuel de **250 000 € HT**.
Au premier trimestre 2021, l'équipe mon-entreprise continue de bénéficier de l'accompagnement du [programme Gamma](https://beta.gouv.fr/approche/acceleration) financé par la [DINUM](https://www.numerique.gouv.fr/dinum/).
---
### Description des catégories
- **Développement 👨‍💻**
Les coûts de développement représentent la grande majorité de notre budget.
Nous utilisons une petite équipe de développeurs freelances, qui sont
Nous sommes une petite équipe de développeurs freelances,
pluridisciplinaires aussi bien sur les aspects techniques, stratégiques et
métiers. Les rémunérations suivent
[la grille de beta.gouv](https://doc.incubateur.net/communaute/travailler-a-beta-gouv/recrutement/remuneration).

View File

@ -1,7 +1,7 @@
# Ces données sont optenues avec la commande suivante depuis le repo privé
# `mon-entreprise/compta` :
#
# $ hledger is -p 2020 -Q -B --depth 2
# $ hledger is -p 2021 -Q -B --depth 2
#
# La partie « marge du porteur » est amortie par trimestre en prenant 13,31% du
# total du trimestre.
@ -26,3 +26,9 @@
Développement: 72150
Logiciels et hébergement: 782
Marge du porteur: 9631
2021:
T1:
Développement: 44850
Logiciels et hébergement: 454
Déplacements: 114
Marge du porteur: 6045