Releve de compte augmente
Tags: #qonto #bank #statement #naas_drivers #notification #emailbuilder #asset #scheduler #naas #finance #automation #analytics #plotly #email #html #image #excel
Recevez un relevé de compte augmenté par email gratuitement, chaque semaine, grâce à un template Naas.ai (moteur de données opensource, 100 crédits offert par mois).
-Durée de l'installation = 5 minutes
-Support d'installation = Guide vidéo
-Niveau = Facile
Dans cette section, vous trouverez les informations à configurer pour que ce notebook puisse accéder à vos données via l'API Qonto.
Les libraries sont des outils créé dans le language Python qui permettent le fonctionnement du notebook. Aucune action nécessaire.
from naas_drivers import qonto
from datetime import datetime, timedelta
import pandas as pd
import naas
👇 Veuillez saisir ci-dessous, entre les guillemets, votre identifiant et votre clé secrète récupérés sur la plateforme Qonto. Comment récupérer ces accès API ?
QONTO_USER_ID = "YOUR_USER_ID"
QONTO_SECRET_KEY = "YOUR_SECRET_KEY"
import naas
QONTO_USER_ID = naas.secret.get("QONTO_USER_ID")
QONTO_SECRET_KEY = naas.secret.get("QONTO_API_KEY")
👇 Veuillez saisir ci-dessous, entre les guillemets, le destinataire de l'email (si vous avez plusieurs destinataires, separez d'une virgule les emails en conservants les guillemets)
Vous pouvez aussi changer l'objet de l'email (configuration avancée)
# Destinataire
EMAIL_TO = ["[email protected]"]
# Objet de l'email
EMAIL_SUBJECT = f"🏛️ Qonto - Votre relevé de compte augmenté du {datetime.now().strftime('%d/%m/%Y')}"
👇 Veuillez saisir ci-dessous, entre les guillemets, la date de début (et la date de fin de votre analyse.
# Date de début au format AAAA-MM-JJ
DATE_FROM = "2021-01-01"
# Date de fin au format AAAA-MM-JJ (par defaut, c'est la date d'aujoud'hui qui est selectionnée)
DATE_TO = datetime.now().strftime("%Y-%m-%d")
# Nombre de jours de récupération des dernières transactions (doit être un chiffre négatif)
LAST_TRANSACTIONS = -7
Grâce à la formule ci-dessous, le notebook se lancera tous les lundis à 8h.
Si vous souhaitez modifier la fréquence d'envoi, vous devez modifier la synthaxe entre guillemets en suivant la documentation officielle CRON (standard internationnal pour la programmation de tâches automatisées)
naas.scheduler.add(cron="0 8 * * 1")
Configuration des noms de fichiers (avancé)
GRAPH_FILE = "graph_account_statement.html"
GRAPH_IMG = "graph_account_statement.jpeg"
TABLE_FILE = "account_statement.xlsx"
# Colonne to consolidate (DATE already included), if empty return only DATE, AMOUNT, POSITION
to_group = ["TRANSACTION_ID", "LABEL", "OPERATION_TYPE"]
df_statement = qonto.connect(QONTO_USER_ID, QONTO_SECRET_KEY).statements.get(
to_group=to_group, date_from=DATE_FROM, date_to=DATE_TO
)
df_statement
barline = qonto.connect(QONTO_USER_ID, QONTO_SECRET_KEY).statements.barline(
date_from=DATE_FROM, date_to=DATE_TO
)
barline
cash_summary = qonto.connect(QONTO_USER_ID, QONTO_SECRET_KEY).statements.summary(
summary_type="OPERATION_TYPE", language="FR", date_from=DATE_FROM, date_to=DATE_TO
)
cash_summary
df_last = qonto.connect(QONTO_USER_ID, QONTO_SECRET_KEY).statements.transactions(
date_from=LAST_TRANSACTIONS, date_to=DATE_TO
)
df_last
current_position = round(df_statement["POSITION"].tolist()[-1], 2)
current_position
df_statement.to_excel(TABLE_FILE)
statement_link = naas.asset.add(TABLE_FILE)
# Image
barline.write_image(GRAPH_IMG)
graph_img = naas.asset.add(GRAPH_IMG)
# HTML
barline.write_html(GRAPH_FILE)
params = {"inline": True}
graph_link = naas.asset.add(GRAPH_FILE, params=params)
email_content = qonto.connect(QONTO_USER_ID, QONTO_SECRET_KEY).statements.email(
DATE_FROM,
DATE_TO,
current_position,
graph_img,
graph_link,
cash_summary,
LAST_TRANSACTIONS,
df_last,
statement_link,
)
naas.notification.send(EMAIL_TO, EMAIL_SUBJECT, email_content)
Last modified 24d ago