@@ -155,6 +155,48 @@ async def run(
155155 return 1
156156
157157
158+ async def add_transaction (
159+ * ,
160+ plan_name : str | None ,
161+ account_name : str | None ,
162+ payee_name : str | None ,
163+ category_name : str | None ,
164+ date : datetime .date | None ,
165+ cleared : TransactionClearedStatus | None ,
166+ amount : Decimal | None ,
167+ for_real : bool ,
168+ quiet : bool ,
169+ db : Path ,
170+ full_refresh : bool ,
171+ token_override : str | None ,
172+ ) -> int :
173+ token = resolve_token (token_override )
174+ try :
175+ resolved = await sync_and_resolve_transaction (
176+ plan_name = plan_name ,
177+ account_name = account_name ,
178+ payee_name = payee_name ,
179+ category_name = category_name ,
180+ date = date ,
181+ cleared = cleared ,
182+ amount = amount ,
183+ db = db ,
184+ full_refresh = full_refresh ,
185+ token = token ,
186+ quiet = quiet ,
187+ )
188+ return await add_transaction_and_move_funds (
189+ resolved = resolved ,
190+ token = token ,
191+ db = db ,
192+ for_real = for_real ,
193+ quiet = quiet ,
194+ )
195+ except Exception as err :
196+ print (err )
197+ return 1
198+
199+
158200async def sync_and_resolve_transaction (
159201 * ,
160202 plan_name : str | None ,
@@ -715,6 +757,7 @@ def edit_distance(left: str, right: str) -> int:
715757
716758__all__ = [
717759 build_parser .__name__ ,
760+ add_transaction .__name__ ,
718761 add_transaction_and_move_funds .__name__ ,
719762 ResolvedAccount .__name__ ,
720763 ResolvedCategory .__name__ ,
0 commit comments