@lunchflow/actual-flow 0.0.15 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/importer.d.ts.map +1 -1
- package/dist/importer.js +16 -8
- package/dist/importer.js.map +1 -1
- package/dist/lunch-flow-client.d.ts +1 -1
- package/dist/lunch-flow-client.d.ts.map +1 -1
- package/dist/lunch-flow-client.js +3 -2
- package/dist/lunch-flow-client.js.map +1 -1
- package/dist/transaction-mapper.d.ts +5 -0
- package/dist/transaction-mapper.d.ts.map +1 -1
- package/dist/transaction-mapper.js +17 -3
- package/dist/transaction-mapper.js.map +1 -1
- package/dist/types.d.ts +4 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +16 -3
- package/dist/ui.js.map +1 -1
- package/docker/.env.example +36 -0
- package/docker/Dockerfile +25 -0
- package/docker/README.md +197 -0
- package/docker/docker-compose.yml +31 -0
- package/docker/entrypoint.sh +89 -0
- package/package.json +1 -1
- package/src/importer.ts +21 -9
- package/src/lunch-flow-client.ts +3 -2
- package/src/transaction-mapper.ts +19 -3
- package/src/types.ts +4 -1
- package/src/ui.ts +18 -3
package/dist/importer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AAIzF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,MAAM,CAAuB;;IAY/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAYnB,kBAAkB;IAehC,OAAO,CAAC,aAAa;IAef,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAoB5C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCzC,kBAAkB,CAAC,gBAAgB,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AAIzF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,MAAM,CAAuB;;IAY/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAYnB,kBAAkB;IAehC,OAAO,CAAC,aAAa;IAef,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAoB5C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCzC,kBAAkB,CAAC,gBAAgB,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAsLnG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCrC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBvC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAKjC"}
|
package/dist/importer.js
CHANGED
|
@@ -123,16 +123,19 @@ class LunchFlowImporter {
|
|
|
123
123
|
const accountResults = [];
|
|
124
124
|
for (const mapping of this.config.accountMappings) {
|
|
125
125
|
try {
|
|
126
|
-
const accountTransactions = await this.lfClient.getTransactions(mapping.lunchFlowAccountId);
|
|
126
|
+
const accountTransactions = await this.lfClient.getTransactions(mapping.lunchFlowAccountId, mapping.includePending ?? false);
|
|
127
127
|
// Filter transactions by sync start date if specified
|
|
128
128
|
let filteredTransactions = accountTransactions;
|
|
129
129
|
if (mapping.syncStartDate) {
|
|
130
130
|
filteredTransactions = accountTransactions.filter(transaction => transaction.date >= mapping.syncStartDate);
|
|
131
131
|
}
|
|
132
|
+
const pendingCount = filteredTransactions.filter(t => t.isPending).length;
|
|
133
|
+
const postedCount = filteredTransactions.length - pendingCount;
|
|
132
134
|
allLfTransactions.push(...filteredTransactions);
|
|
133
135
|
accountResults.push({
|
|
134
136
|
account: `${mapping.lunchFlowAccountName} → ${mapping.actualBudgetAccountName}`,
|
|
135
|
-
|
|
137
|
+
postedCount,
|
|
138
|
+
pendingCount,
|
|
136
139
|
success: true
|
|
137
140
|
});
|
|
138
141
|
}
|
|
@@ -140,7 +143,8 @@ class LunchFlowImporter {
|
|
|
140
143
|
console.warn(`Failed to fetch transactions for Lunch Flow account ${mapping.lunchFlowAccountId} (${mapping.lunchFlowAccountName}):`, error);
|
|
141
144
|
accountResults.push({
|
|
142
145
|
account: `${mapping.lunchFlowAccountName} → ${mapping.actualBudgetAccountName}`,
|
|
143
|
-
|
|
146
|
+
postedCount: 0,
|
|
147
|
+
pendingCount: 0,
|
|
144
148
|
success: false
|
|
145
149
|
});
|
|
146
150
|
// Continue with other accounts even if one fails
|
|
@@ -150,15 +154,19 @@ class LunchFlowImporter {
|
|
|
150
154
|
// Show account processing summary
|
|
151
155
|
console.log('\n📊 Account Processing Summary:');
|
|
152
156
|
const table = new cli_table3_1.default({
|
|
153
|
-
head: ['Account Mapping', 'Sync Start
|
|
154
|
-
colWidths: [40,
|
|
157
|
+
head: ['Account Mapping', 'Sync Start', 'Posted', 'Pending', 'Status'],
|
|
158
|
+
colWidths: [40, 12, 10, 10, 12]
|
|
155
159
|
});
|
|
156
160
|
accountResults.forEach((result, index) => {
|
|
157
161
|
const mapping = this.config.accountMappings[index];
|
|
162
|
+
const pendingDisplay = mapping.includePending
|
|
163
|
+
? result.pendingCount.toString()
|
|
164
|
+
: chalk_1.default.gray('N/A');
|
|
158
165
|
table.push([
|
|
159
166
|
result.account,
|
|
160
167
|
mapping.syncStartDate || 'None',
|
|
161
|
-
result.
|
|
168
|
+
result.postedCount.toString(),
|
|
169
|
+
pendingDisplay,
|
|
162
170
|
result.success ? '✅ Success' : '❌ Failed'
|
|
163
171
|
]);
|
|
164
172
|
});
|
|
@@ -221,8 +229,8 @@ class LunchFlowImporter {
|
|
|
221
229
|
this.ui.showInfo('No unique transactions to import (all were duplicates)');
|
|
222
230
|
return;
|
|
223
231
|
}
|
|
224
|
-
// Remove
|
|
225
|
-
const cleanTransactions = uniqueTransactions.map(({ isDuplicate, duplicateOf, ...transaction }) => transaction);
|
|
232
|
+
// Remove internal tracking fields before import (Actual Budget API doesn't recognize them)
|
|
233
|
+
const cleanTransactions = uniqueTransactions.map(({ isDuplicate, duplicateOf, isPending, ...transaction }) => transaction);
|
|
226
234
|
const importSpinner = this.ui.showSpinner(`Importing ${cleanTransactions.length} transactions...`);
|
|
227
235
|
await this.abClient.importTransactions(cleanTransactions);
|
|
228
236
|
importSpinner.stop();
|
package/dist/importer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importer.js","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"importer.js","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,6 @@ export declare class LunchFlowClient {
|
|
|
9
9
|
private sleep;
|
|
10
10
|
testConnection(): Promise<boolean>;
|
|
11
11
|
getAccounts(): Promise<LunchFlowAccount[]>;
|
|
12
|
-
getTransactions(accountId: LunchFlowAccountId): Promise<LunchFlowTransaction[]>;
|
|
12
|
+
getTransactions(accountId: LunchFlowAccountId, includePending?: boolean): Promise<LunchFlowTransaction[]>;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=lunch-flow-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lunch-flow-client.d.ts","sourceRoot":"","sources":["../src/lunch-flow-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAErF,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAoC;YAY3D,gBAAgB;IA4B9B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,KAAK;IAIP,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAalC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAc1C,eAAe,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"lunch-flow-client.d.ts","sourceRoot":"","sources":["../src/lunch-flow-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAErF,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAoC;YAY3D,gBAAgB;IA4B9B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,KAAK;IAIP,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAalC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAc1C,eAAe,CAAC,SAAS,EAAE,kBAAkB,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAcvH"}
|
|
@@ -81,9 +81,10 @@ class LunchFlowClient {
|
|
|
81
81
|
}
|
|
82
82
|
}, 'Fetch Lunch Flow accounts');
|
|
83
83
|
}
|
|
84
|
-
async getTransactions(accountId) {
|
|
84
|
+
async getTransactions(accountId, includePending = false) {
|
|
85
85
|
return this.retryWithBackoff(async () => {
|
|
86
|
-
const
|
|
86
|
+
const params = includePending ? '?include_pending=true' : '';
|
|
87
|
+
const response = await this.client.get(`/accounts/${accountId}/transactions${params}`);
|
|
87
88
|
// Handle different possible response structures
|
|
88
89
|
if (Array.isArray(response.data.transactions)) {
|
|
89
90
|
return response.data.transactions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lunch-flow-client.js","sourceRoot":"","sources":["../src/lunch-flow-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lunch-flow-client.js","sourceRoot":"","sources":["../src/lunch-flow-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,11 @@ import { LunchFlowTransaction, ActualBudgetTransaction, AccountMapping } from '.
|
|
|
2
2
|
export declare class TransactionMapper {
|
|
3
3
|
private accountMappings;
|
|
4
4
|
constructor(accountMappings: AccountMapping[]);
|
|
5
|
+
/**
|
|
6
|
+
* Generate a deterministic synthetic ID for pending transactions without an ID.
|
|
7
|
+
* Uses account, date, amount, and merchant to create a unique identifier.
|
|
8
|
+
*/
|
|
9
|
+
private generateSyntheticId;
|
|
5
10
|
mapTransaction(lfTransaction: LunchFlowTransaction): ActualBudgetTransaction | null;
|
|
6
11
|
mapTransactions(lfTransactions: LunchFlowTransaction[]): ActualBudgetTransaction[];
|
|
7
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-mapper.d.ts","sourceRoot":"","sources":["../src/transaction-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,eAAe,CAAmB;gBAE9B,eAAe,EAAE,cAAc,EAAE;IAI7C,cAAc,CAAC,aAAa,EAAE,oBAAoB,GAAG,uBAAuB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"transaction-mapper.d.ts","sourceRoot":"","sources":["../src/transaction-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,eAAe,CAAmB;gBAE9B,eAAe,EAAE,cAAc,EAAE;IAI7C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAS3B,cAAc,CAAC,aAAa,EAAE,oBAAoB,GAAG,uBAAuB,GAAG,IAAI;IA0BnF,eAAe,CAAC,cAAc,EAAE,oBAAoB,EAAE,GAAG,uBAAuB,EAAE;CAKnF"}
|
|
@@ -5,12 +5,25 @@ class TransactionMapper {
|
|
|
5
5
|
constructor(accountMappings) {
|
|
6
6
|
this.accountMappings = accountMappings;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Generate a deterministic synthetic ID for pending transactions without an ID.
|
|
10
|
+
* Uses account, date, amount, and merchant to create a unique identifier.
|
|
11
|
+
*/
|
|
12
|
+
generateSyntheticId(lfTransaction) {
|
|
13
|
+
const amountCents = Math.round(lfTransaction.amount * 100);
|
|
14
|
+
const merchantSlug = lfTransaction.merchant
|
|
15
|
+
.toLowerCase()
|
|
16
|
+
.replace(/[^a-z0-9]/g, '')
|
|
17
|
+
.substring(0, 20);
|
|
18
|
+
return `lf_pending_${lfTransaction.accountId}_${lfTransaction.date}_${amountCents}_${merchantSlug}`;
|
|
19
|
+
}
|
|
8
20
|
mapTransaction(lfTransaction) {
|
|
9
21
|
const mapping = this.accountMappings.find(m => m.lunchFlowAccountId === lfTransaction.accountId);
|
|
10
22
|
if (!mapping) {
|
|
11
23
|
console.warn(`No mapping found for Lunch Flow account ${lfTransaction.accountId}`);
|
|
12
24
|
return null;
|
|
13
25
|
}
|
|
26
|
+
const isPending = lfTransaction.isPending === true;
|
|
14
27
|
return {
|
|
15
28
|
date: lfTransaction.date,
|
|
16
29
|
// Forcing to fixed point integer to avoid floating point precision issues
|
|
@@ -18,9 +31,10 @@ class TransactionMapper {
|
|
|
18
31
|
payee_name: lfTransaction.merchant,
|
|
19
32
|
imported_payee: lfTransaction.merchant,
|
|
20
33
|
account: mapping.actualBudgetAccountId,
|
|
21
|
-
cleared:
|
|
22
|
-
notes: lfTransaction.description,
|
|
23
|
-
imported_id: `lf_${lfTransaction.id}`,
|
|
34
|
+
cleared: !isPending, // false for pending, true for posted
|
|
35
|
+
notes: isPending ? `[PENDING] ${lfTransaction.description}` : lfTransaction.description,
|
|
36
|
+
imported_id: isPending ? this.generateSyntheticId(lfTransaction) : `lf_${lfTransaction.id}`,
|
|
37
|
+
isPending: isPending, // Track pending status for UI display
|
|
24
38
|
};
|
|
25
39
|
}
|
|
26
40
|
mapTransactions(lfTransactions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-mapper.js","sourceRoot":"","sources":["../src/transaction-mapper.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAG5B,YAAY,eAAiC;QAC3C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,aAAmC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,aAAa,CAAC,SAAS,CACtD,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,0EAA0E;YAC1E,MAAM,EAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzD,UAAU,EAAE,aAAa,CAAC,QAAQ;YAClC,cAAc,EAAE,aAAa,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,qBAAqB;YACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transaction-mapper.js","sourceRoot":"","sources":["../src/transaction-mapper.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAG5B,YAAY,eAAiC;QAC3C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,aAAmC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ;aACxC,WAAW,EAAE;aACb,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;aACzB,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpB,OAAO,cAAc,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;IACtG,CAAC;IAED,cAAc,CAAC,aAAmC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,aAAa,CAAC,SAAS,CACtD,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,2CAA2C,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,KAAK,IAAI,CAAC;QAEnD,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,0EAA0E;YAC1E,MAAM,EAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzD,UAAU,EAAE,aAAa,CAAC,QAAQ;YAClC,cAAc,EAAE,aAAa,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,qBAAqB;YACtC,OAAO,EAAE,CAAC,SAAS,EAAE,qCAAqC;YAC1D,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW;YACvF,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,EAAE,EAAE;YAC3F,SAAS,EAAE,SAAS,EAAE,sCAAsC;SAC7D,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,cAAsC;QACpD,OAAO,cAAc;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7D,CAAC;CACF;AAnDD,8CAmDC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export type LunchFlowAccountId = number;
|
|
2
2
|
export interface LunchFlowTransaction {
|
|
3
|
-
id: string;
|
|
3
|
+
id: string | null;
|
|
4
4
|
accountId: LunchFlowAccountId;
|
|
5
5
|
date: string;
|
|
6
6
|
amount: number;
|
|
7
7
|
currency: string;
|
|
8
8
|
merchant: string;
|
|
9
9
|
description: string;
|
|
10
|
+
isPending?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export interface LunchFlowAccount {
|
|
12
13
|
id: LunchFlowAccountId;
|
|
@@ -25,6 +26,7 @@ export interface ActualBudgetTransaction {
|
|
|
25
26
|
imported_id?: string;
|
|
26
27
|
isDuplicate?: boolean;
|
|
27
28
|
duplicateOf?: string;
|
|
29
|
+
isPending?: boolean;
|
|
28
30
|
}
|
|
29
31
|
export interface ActualBudgetAccount {
|
|
30
32
|
id: string;
|
|
@@ -39,6 +41,7 @@ export interface AccountMapping {
|
|
|
39
41
|
actualBudgetAccountId: string;
|
|
40
42
|
actualBudgetAccountName: string;
|
|
41
43
|
syncStartDate?: string;
|
|
44
|
+
includePending?: boolean;
|
|
42
45
|
}
|
|
43
46
|
export interface Config {
|
|
44
47
|
lunchFlow: {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACxC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACxC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,+BAA+B,CAAC,EAAE,OAAO,CAAC;KAC3C,CAAC;IACF,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB"}
|
package/dist/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE3H,qBAAa,UAAU;IACf,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,uBAAuB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCvE,0BAA0B,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,+BAA+B,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAuD5K,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D,iBAAiB,CAAC,QAAQ,EAAE,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrG,wBAAwB,CAC5B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,UAAU,EAAE,mBAAmB,EAAE,GAChC,OAAO,CAAC,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE3H,qBAAa,UAAU;IACf,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,uBAAuB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCvE,0BAA0B,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,+BAA+B,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAuD5K,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D,iBAAiB,CAAC,QAAQ,EAAE,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrG,wBAAwB,CAC5B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,UAAU,EAAE,mBAAmB,EAAE,GAChC,OAAO,CAAC,cAAc,EAAE,CAAC;IAiFtB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9D,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5G,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAuB/B,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmB5C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;IAIjC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,sBAAsB,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAqE1I"}
|
package/dist/ui.js
CHANGED
|
@@ -173,6 +173,15 @@ class TerminalUI {
|
|
|
173
173
|
},
|
|
174
174
|
},
|
|
175
175
|
]);
|
|
176
|
+
// Ask whether to include pending transactions
|
|
177
|
+
const pendingAnswer = await inquirer_1.default.prompt([
|
|
178
|
+
{
|
|
179
|
+
type: 'confirm',
|
|
180
|
+
name: 'includePending',
|
|
181
|
+
message: `Include pending (unposted) transactions for "${lfAccount.name}"?`,
|
|
182
|
+
default: false,
|
|
183
|
+
},
|
|
184
|
+
]);
|
|
176
185
|
const mapping = {
|
|
177
186
|
lunchFlowAccountId: lfAccount.id,
|
|
178
187
|
lunchFlowAccountName: lfAccount.name,
|
|
@@ -182,6 +191,9 @@ class TerminalUI {
|
|
|
182
191
|
if (dateAnswer.syncStartDate.trim()) {
|
|
183
192
|
mapping.syncStartDate = dateAnswer.syncStartDate.trim();
|
|
184
193
|
}
|
|
194
|
+
if (pendingAnswer.includePending) {
|
|
195
|
+
mapping.includePending = true;
|
|
196
|
+
}
|
|
185
197
|
mappings.push(mapping);
|
|
186
198
|
}
|
|
187
199
|
}
|
|
@@ -195,8 +207,8 @@ class TerminalUI {
|
|
|
195
207
|
return;
|
|
196
208
|
}
|
|
197
209
|
const table = new cli_table3_1.default({
|
|
198
|
-
head: ['Lunch Flow Account', '→', 'Actual Budget Account', 'Sync Start
|
|
199
|
-
colWidths: [25, 3, 25,
|
|
210
|
+
head: ['Lunch Flow Account', '→', 'Actual Budget Account', 'Sync Start', 'Pending'],
|
|
211
|
+
colWidths: [25, 3, 25, 12, 10],
|
|
200
212
|
style: {
|
|
201
213
|
head: ['cyan'],
|
|
202
214
|
border: ['gray'],
|
|
@@ -207,7 +219,8 @@ class TerminalUI {
|
|
|
207
219
|
mapping.lunchFlowAccountName,
|
|
208
220
|
'→',
|
|
209
221
|
mapping.actualBudgetAccountName,
|
|
210
|
-
mapping.syncStartDate || chalk_1.default.gray('None')
|
|
222
|
+
mapping.syncStartDate || chalk_1.default.gray('None'),
|
|
223
|
+
mapping.includePending ? chalk_1.default.green('Yes') : chalk_1.default.gray('No')
|
|
211
224
|
]);
|
|
212
225
|
});
|
|
213
226
|
console.log(table.toString());
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# ===========================================
|
|
2
|
+
# Actual Flow Docker Configuration
|
|
3
|
+
# ===========================================
|
|
4
|
+
# Copy this file to .env and fill in your values
|
|
5
|
+
#
|
|
6
|
+
# FIRST RUN: Use interactive mode to configure credentials and map accounts:
|
|
7
|
+
# docker compose run --rm -e ACTUAL_FLOW_MODE=interactive actual-flow
|
|
8
|
+
#
|
|
9
|
+
# All credentials (API keys, passwords, account mappings) are stored in
|
|
10
|
+
# data/config.json after the interactive setup.
|
|
11
|
+
|
|
12
|
+
# Timezone for cron schedule
|
|
13
|
+
TZ=UTC
|
|
14
|
+
|
|
15
|
+
# ===========================================
|
|
16
|
+
# Import Schedule
|
|
17
|
+
# ===========================================
|
|
18
|
+
|
|
19
|
+
# Cron schedule for automatic imports (default: daily at 6 AM)
|
|
20
|
+
# Examples:
|
|
21
|
+
# "0 6 * * *" - Daily at 6:00 AM (default)
|
|
22
|
+
# "0 */6 * * *" - Every 6 hours
|
|
23
|
+
# "0 8,20 * * *" - Twice daily at 8 AM and 8 PM
|
|
24
|
+
# "*/30 * * * *" - Every 30 minutes
|
|
25
|
+
ACTUAL_FLOW_CRON="0 6 * * *"
|
|
26
|
+
|
|
27
|
+
# Run import immediately when container starts (true/false)
|
|
28
|
+
ACTUAL_FLOW_RUN_ON_STARTUP=false
|
|
29
|
+
|
|
30
|
+
# ===========================================
|
|
31
|
+
# TLS Configuration
|
|
32
|
+
# ===========================================
|
|
33
|
+
|
|
34
|
+
# Set to 1 to enforce TLS certificate verification
|
|
35
|
+
# Set to 0 to skip verification (needed for self-signed certificates)
|
|
36
|
+
NODE_TLS_REJECT_UNAUTHORIZED=0
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
FROM node:20-alpine
|
|
2
|
+
|
|
3
|
+
LABEL maintainer="github.com/lunchflow"
|
|
4
|
+
LABEL description="Actual Flow - Import bank transactions to Actual Budget via Lunch Flow"
|
|
5
|
+
LABEL org.opencontainers.image.source="https://github.com/lunchflow/actual-flow"
|
|
6
|
+
|
|
7
|
+
# Install dependencies
|
|
8
|
+
RUN apk add --no-cache bash curl tini
|
|
9
|
+
|
|
10
|
+
# Create app directory
|
|
11
|
+
WORKDIR /app
|
|
12
|
+
|
|
13
|
+
# Install actual-flow globally
|
|
14
|
+
RUN npm install -g @lunchflow/actual-flow
|
|
15
|
+
|
|
16
|
+
# Create directory for config
|
|
17
|
+
RUN mkdir -p /app/config
|
|
18
|
+
|
|
19
|
+
# Copy entrypoint script
|
|
20
|
+
COPY entrypoint.sh /app/entrypoint.sh
|
|
21
|
+
RUN chmod +x /app/entrypoint.sh
|
|
22
|
+
|
|
23
|
+
# Use tini as init system for proper signal handling
|
|
24
|
+
ENTRYPOINT ["/sbin/tini", "--"]
|
|
25
|
+
CMD ["/app/entrypoint.sh"]
|
package/docker/README.md
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Actual Flow Docker
|
|
2
|
+
|
|
3
|
+
A Docker container for [Actual Flow](https://github.com/lunchflow/actual-flow) - automatically import bank transactions from [Lunch Flow](https://lunchflow.com) into [Actual Budget](https://actualbudget.com).
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Scheduled automatic imports via cron
|
|
8
|
+
- Interactive mode for initial setup and account mapping
|
|
9
|
+
- Supports Actual Budget server password and e2e encryption
|
|
10
|
+
- Configurable import schedule
|
|
11
|
+
- Persistent configuration storage
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
- Docker and Docker Compose
|
|
16
|
+
- A running [Actual Budget](https://actualbudget.com) server
|
|
17
|
+
- A [Lunch Flow](https://lunchflow.com) account with API key
|
|
18
|
+
- Bank accounts connected in Lunch Flow
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
### 1. Clone and Configure
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
git clone https://github.com/lunchflow/actual-flow.git
|
|
26
|
+
cd actual-flow/docker
|
|
27
|
+
|
|
28
|
+
# Copy the environment file
|
|
29
|
+
cp .env.example .env
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Run Interactive Setup
|
|
33
|
+
|
|
34
|
+
Run the interactive setup to configure your credentials and map bank accounts:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
docker compose run --rm -e ACTUAL_FLOW_MODE=interactive actual-flow
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This opens an interactive terminal UI where you can:
|
|
41
|
+
- Enter your Lunch Flow API key
|
|
42
|
+
- Configure your Actual Budget server URL and credentials
|
|
43
|
+
- Test connections to both services
|
|
44
|
+
- Map your bank accounts to Actual Budget accounts
|
|
45
|
+
- Configure sync start dates for each account
|
|
46
|
+
|
|
47
|
+
All settings are saved to `data/config.json`.
|
|
48
|
+
|
|
49
|
+
### 3. Start Scheduled Imports
|
|
50
|
+
|
|
51
|
+
Once configured, start the container for automatic scheduled imports:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
docker compose up -d
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Configuration
|
|
58
|
+
|
|
59
|
+
### Environment Variables
|
|
60
|
+
|
|
61
|
+
All credentials are configured through the interactive setup and stored in `config.json`.
|
|
62
|
+
The `.env` file only contains runtime settings:
|
|
63
|
+
|
|
64
|
+
| Variable | Default | Description |
|
|
65
|
+
|----------|---------|-------------|
|
|
66
|
+
| `TZ` | `UTC` | Timezone for cron schedule |
|
|
67
|
+
| `ACTUAL_FLOW_CRON` | `0 6 * * *` | Cron schedule for imports |
|
|
68
|
+
| `ACTUAL_FLOW_RUN_ON_STARTUP` | `false` | Run import immediately on start |
|
|
69
|
+
| `NODE_TLS_REJECT_UNAUTHORIZED` | `0` | Set to `1` to enforce TLS verification |
|
|
70
|
+
|
|
71
|
+
### Cron Schedule Examples
|
|
72
|
+
|
|
73
|
+
Edit `.env` to change the import schedule:
|
|
74
|
+
|
|
75
|
+
```env
|
|
76
|
+
ACTUAL_FLOW_CRON="0 6 * * *" # Daily at 6:00 AM (default)
|
|
77
|
+
ACTUAL_FLOW_CRON="0 */6 * * *" # Every 6 hours
|
|
78
|
+
ACTUAL_FLOW_CRON="0 8,20 * * *" # Twice daily at 8 AM and 8 PM
|
|
79
|
+
ACTUAL_FLOW_CRON="*/30 * * * *" # Every 30 minutes
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Usage
|
|
83
|
+
|
|
84
|
+
### View Logs
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
docker compose logs -f actual-flow
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Run Manual Import
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Using the running container
|
|
94
|
+
docker compose exec actual-flow actual-flow import
|
|
95
|
+
|
|
96
|
+
# Or run a fresh one-time import
|
|
97
|
+
docker compose run --rm -e ACTUAL_FLOW_MODE=once actual-flow
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Re-run Interactive Setup
|
|
101
|
+
|
|
102
|
+
To change credentials or remap accounts:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
docker compose run --rm -e ACTUAL_FLOW_MODE=interactive actual-flow
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Rebuild After Updates
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
docker compose build --no-cache
|
|
112
|
+
docker compose up -d
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## File Structure
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
actual-flow-docker/
|
|
119
|
+
├── Dockerfile # Container image definition
|
|
120
|
+
├── entrypoint.sh # Container startup script
|
|
121
|
+
├── docker-compose.yml # Docker Compose configuration
|
|
122
|
+
├── .env.example # Example environment variables
|
|
123
|
+
├── .env # Your configuration (git-ignored)
|
|
124
|
+
├── data/ # Persistent config (created automatically)
|
|
125
|
+
│ └── config.json # Credentials and account mappings
|
|
126
|
+
└── README.md # This file
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Troubleshooting
|
|
130
|
+
|
|
131
|
+
### "Configuration file not found"
|
|
132
|
+
|
|
133
|
+
You need to run the interactive setup first:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
docker compose run --rm -e ACTUAL_FLOW_MODE=interactive actual-flow
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Connection Failed to Actual Budget
|
|
140
|
+
|
|
141
|
+
1. **Check the URL**: Ensure the server URL is correct and reachable from the container
|
|
142
|
+
2. **HTTPS with self-signed certs**: Keep `NODE_TLS_REJECT_UNAUTHORIZED=0` in `.env`
|
|
143
|
+
3. **Docker networking**: If Actual Budget is in Docker, ensure both containers are on the same network
|
|
144
|
+
4. **Firewall**: Ensure the port is accessible
|
|
145
|
+
|
|
146
|
+
### Authentication Failed
|
|
147
|
+
|
|
148
|
+
Run interactive setup again to verify:
|
|
149
|
+
1. Server password is correct (if set)
|
|
150
|
+
2. Sync ID matches (Settings > Show advanced settings in Actual Budget)
|
|
151
|
+
3. Encryption password is correct (if e2e encryption is enabled)
|
|
152
|
+
|
|
153
|
+
### Reset Configuration
|
|
154
|
+
|
|
155
|
+
To start fresh:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
rm -f data/config.json
|
|
159
|
+
docker compose run --rm -e ACTUAL_FLOW_MODE=interactive actual-flow
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Integration with Existing Actual Budget Docker Setup
|
|
163
|
+
|
|
164
|
+
If you're already running Actual Budget in Docker, add actual-flow to the same network:
|
|
165
|
+
|
|
166
|
+
```yaml
|
|
167
|
+
services:
|
|
168
|
+
actual-flow:
|
|
169
|
+
build: ./actual-flow-docker
|
|
170
|
+
container_name: actual-flow
|
|
171
|
+
networks:
|
|
172
|
+
- your_network
|
|
173
|
+
environment:
|
|
174
|
+
- TZ=${TZ:-UTC}
|
|
175
|
+
- NODE_TLS_REJECT_UNAUTHORIZED=0
|
|
176
|
+
- ACTUAL_FLOW_CRON=${ACTUAL_FLOW_CRON:-0 6 * * *}
|
|
177
|
+
- ACTUAL_FLOW_RUN_ON_STARTUP=false
|
|
178
|
+
volumes:
|
|
179
|
+
- ./actual-flow-data:/app/config
|
|
180
|
+
depends_on:
|
|
181
|
+
- actual-budget
|
|
182
|
+
restart: unless-stopped
|
|
183
|
+
|
|
184
|
+
networks:
|
|
185
|
+
your_network:
|
|
186
|
+
external: true
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## License
|
|
190
|
+
|
|
191
|
+
MIT
|
|
192
|
+
|
|
193
|
+
## Credits
|
|
194
|
+
|
|
195
|
+
- [Actual Flow](https://github.com/lunchflow/actual-flow) by Lunch Flow
|
|
196
|
+
- [Actual Budget](https://actualbudget.com)
|
|
197
|
+
- [Lunch Flow](https://lunchflow.com)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
services:
|
|
2
|
+
actual-flow:
|
|
3
|
+
build:
|
|
4
|
+
context: .
|
|
5
|
+
dockerfile: Dockerfile
|
|
6
|
+
container_name: actual-flow
|
|
7
|
+
environment:
|
|
8
|
+
- TZ=${TZ:-UTC}
|
|
9
|
+
# Skip TLS verification for self-signed certificates (set to 1 to enable verification)
|
|
10
|
+
- NODE_TLS_REJECT_UNAUTHORIZED=${NODE_TLS_REJECT_UNAUTHORIZED:-0}
|
|
11
|
+
# Import schedule (default: 6 AM daily)
|
|
12
|
+
- ACTUAL_FLOW_CRON=${ACTUAL_FLOW_CRON:-0 6 * * *}
|
|
13
|
+
# Set to "true" to run import immediately on container start
|
|
14
|
+
- ACTUAL_FLOW_RUN_ON_STARTUP=${ACTUAL_FLOW_RUN_ON_STARTUP:-false}
|
|
15
|
+
# Mode: "scheduled" (default), "once" (run once and exit), "interactive" (for setup)
|
|
16
|
+
- ACTUAL_FLOW_MODE=${ACTUAL_FLOW_MODE:-scheduled}
|
|
17
|
+
volumes:
|
|
18
|
+
# Persist config and account mappings
|
|
19
|
+
- ./data:/app/config
|
|
20
|
+
restart: unless-stopped
|
|
21
|
+
|
|
22
|
+
# If running Actual Budget in the same compose file, uncomment below:
|
|
23
|
+
#
|
|
24
|
+
# actual-budget:
|
|
25
|
+
# image: actualbudget/actual-server:latest
|
|
26
|
+
# container_name: actual-budget
|
|
27
|
+
# ports:
|
|
28
|
+
# - "5006:5006"
|
|
29
|
+
# volumes:
|
|
30
|
+
# - ./actual-data:/data
|
|
31
|
+
# restart: unless-stopped
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
CONFIG_FILE="/app/config/config.json"
|
|
5
|
+
CRON_SCHEDULE="${ACTUAL_FLOW_CRON:-0 6 * * *}"
|
|
6
|
+
|
|
7
|
+
# Colors for output
|
|
8
|
+
GREEN='\033[0;32m'
|
|
9
|
+
YELLOW='\033[1;33m'
|
|
10
|
+
RED='\033[0;31m'
|
|
11
|
+
NC='\033[0m'
|
|
12
|
+
|
|
13
|
+
log_info() {
|
|
14
|
+
echo -e "${GREEN}[INFO]${NC} $(date '+%Y-%m-%d %H:%M:%S') - $1"
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
log_warn() {
|
|
18
|
+
echo -e "${YELLOW}[WARN]${NC} $(date '+%Y-%m-%d %H:%M:%S') - $1"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
log_error() {
|
|
22
|
+
echo -e "${RED}[ERROR]${NC} $(date '+%Y-%m-%d %H:%M:%S') - $1"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
# Check if config exists
|
|
26
|
+
check_config() {
|
|
27
|
+
if [ ! -f "$CONFIG_FILE" ]; then
|
|
28
|
+
log_error "Configuration file not found: $CONFIG_FILE"
|
|
29
|
+
echo ""
|
|
30
|
+
echo "Please run interactive setup first to configure credentials and map accounts:"
|
|
31
|
+
echo ""
|
|
32
|
+
echo " docker compose run --rm -e ACTUAL_FLOW_MODE=interactive actual-flow"
|
|
33
|
+
echo ""
|
|
34
|
+
exit 1
|
|
35
|
+
fi
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
# Run import
|
|
39
|
+
run_import() {
|
|
40
|
+
log_info "Starting transaction import..."
|
|
41
|
+
cd /app/config
|
|
42
|
+
|
|
43
|
+
if actual-flow import; then
|
|
44
|
+
log_info "Transaction import completed successfully"
|
|
45
|
+
else
|
|
46
|
+
log_error "Transaction import failed"
|
|
47
|
+
return 1
|
|
48
|
+
fi
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
# Main logic
|
|
52
|
+
log_info "Actual Flow Importer starting..."
|
|
53
|
+
|
|
54
|
+
# Interactive mode - always allowed, used for initial setup
|
|
55
|
+
if [ "$ACTUAL_FLOW_MODE" = "interactive" ]; then
|
|
56
|
+
log_info "Running in interactive mode..."
|
|
57
|
+
cd /app/config
|
|
58
|
+
exec actual-flow
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
# For non-interactive modes, config must exist
|
|
62
|
+
check_config
|
|
63
|
+
|
|
64
|
+
# Single run mode
|
|
65
|
+
if [ "$ACTUAL_FLOW_MODE" = "once" ]; then
|
|
66
|
+
log_info "Running in single-run mode..."
|
|
67
|
+
run_import
|
|
68
|
+
exit $?
|
|
69
|
+
fi
|
|
70
|
+
|
|
71
|
+
# Default: scheduled mode
|
|
72
|
+
log_info "Running in scheduled mode..."
|
|
73
|
+
log_info "Cron schedule: $CRON_SCHEDULE"
|
|
74
|
+
|
|
75
|
+
# Run import immediately on startup if configured
|
|
76
|
+
if [ "$ACTUAL_FLOW_RUN_ON_STARTUP" = "true" ]; then
|
|
77
|
+
log_info "Running initial import on startup..."
|
|
78
|
+
run_import || log_warn "Initial import failed, will retry on schedule"
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
# Create cron job
|
|
82
|
+
log_info "Setting up cron schedule: $CRON_SCHEDULE"
|
|
83
|
+
|
|
84
|
+
# Write cron job
|
|
85
|
+
echo "$CRON_SCHEDULE cd /app/config && actual-flow import >> /proc/1/fd/1 2>&1" > /etc/crontabs/root
|
|
86
|
+
|
|
87
|
+
# Start cron in foreground
|
|
88
|
+
log_info "Starting cron daemon..."
|
|
89
|
+
exec crond -f -l 2
|
package/package.json
CHANGED
package/src/importer.ts
CHANGED
|
@@ -149,11 +149,14 @@ export class LunchFlowImporter {
|
|
|
149
149
|
try {
|
|
150
150
|
// Fetch transactions from all mapped accounts
|
|
151
151
|
const allLfTransactions: LunchFlowTransaction[] = [];
|
|
152
|
-
const accountResults: { account: string;
|
|
152
|
+
const accountResults: { account: string; postedCount: number; pendingCount: number; success: boolean }[] = [];
|
|
153
153
|
|
|
154
154
|
for (const mapping of this.config.accountMappings) {
|
|
155
155
|
try {
|
|
156
|
-
const accountTransactions = await this.lfClient.getTransactions(
|
|
156
|
+
const accountTransactions = await this.lfClient.getTransactions(
|
|
157
|
+
mapping.lunchFlowAccountId,
|
|
158
|
+
mapping.includePending ?? false
|
|
159
|
+
);
|
|
157
160
|
|
|
158
161
|
// Filter transactions by sync start date if specified
|
|
159
162
|
let filteredTransactions = accountTransactions;
|
|
@@ -163,17 +166,22 @@ export class LunchFlowImporter {
|
|
|
163
166
|
);
|
|
164
167
|
}
|
|
165
168
|
|
|
169
|
+
const pendingCount = filteredTransactions.filter(t => t.isPending).length;
|
|
170
|
+
const postedCount = filteredTransactions.length - pendingCount;
|
|
171
|
+
|
|
166
172
|
allLfTransactions.push(...filteredTransactions);
|
|
167
173
|
accountResults.push({
|
|
168
174
|
account: `${mapping.lunchFlowAccountName} → ${mapping.actualBudgetAccountName}`,
|
|
169
|
-
|
|
175
|
+
postedCount,
|
|
176
|
+
pendingCount,
|
|
170
177
|
success: true
|
|
171
178
|
});
|
|
172
179
|
} catch (error) {
|
|
173
180
|
console.warn(`Failed to fetch transactions for Lunch Flow account ${mapping.lunchFlowAccountId} (${mapping.lunchFlowAccountName}):`, error);
|
|
174
181
|
accountResults.push({
|
|
175
182
|
account: `${mapping.lunchFlowAccountName} → ${mapping.actualBudgetAccountName}`,
|
|
176
|
-
|
|
183
|
+
postedCount: 0,
|
|
184
|
+
pendingCount: 0,
|
|
177
185
|
success: false
|
|
178
186
|
});
|
|
179
187
|
// Continue with other accounts even if one fails
|
|
@@ -185,16 +193,20 @@ export class LunchFlowImporter {
|
|
|
185
193
|
// Show account processing summary
|
|
186
194
|
console.log('\n📊 Account Processing Summary:');
|
|
187
195
|
const table = new Table({
|
|
188
|
-
head: ['Account Mapping', 'Sync Start
|
|
189
|
-
colWidths: [40,
|
|
196
|
+
head: ['Account Mapping', 'Sync Start', 'Posted', 'Pending', 'Status'],
|
|
197
|
+
colWidths: [40, 12, 10, 10, 12]
|
|
190
198
|
});
|
|
191
199
|
|
|
192
200
|
accountResults.forEach((result, index) => {
|
|
193
201
|
const mapping = this.config!.accountMappings[index];
|
|
202
|
+
const pendingDisplay = mapping.includePending
|
|
203
|
+
? result.pendingCount.toString()
|
|
204
|
+
: chalk.gray('N/A');
|
|
194
205
|
table.push([
|
|
195
206
|
result.account,
|
|
196
207
|
mapping.syncStartDate || 'None',
|
|
197
|
-
result.
|
|
208
|
+
result.postedCount.toString(),
|
|
209
|
+
pendingDisplay,
|
|
198
210
|
result.success ? '✅ Success' : '❌ Failed'
|
|
199
211
|
]);
|
|
200
212
|
});
|
|
@@ -268,8 +280,8 @@ export class LunchFlowImporter {
|
|
|
268
280
|
return;
|
|
269
281
|
}
|
|
270
282
|
|
|
271
|
-
// Remove
|
|
272
|
-
const cleanTransactions = uniqueTransactions.map(({ isDuplicate, duplicateOf, ...transaction }) => transaction);
|
|
283
|
+
// Remove internal tracking fields before import (Actual Budget API doesn't recognize them)
|
|
284
|
+
const cleanTransactions = uniqueTransactions.map(({ isDuplicate, duplicateOf, isPending, ...transaction }) => transaction);
|
|
273
285
|
|
|
274
286
|
const importSpinner = this.ui.showSpinner(`Importing ${cleanTransactions.length} transactions...`);
|
|
275
287
|
await this.abClient.importTransactions(cleanTransactions);
|
package/src/lunch-flow-client.ts
CHANGED
|
@@ -95,9 +95,10 @@ export class LunchFlowClient {
|
|
|
95
95
|
}, 'Fetch Lunch Flow accounts');
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
async getTransactions(accountId: LunchFlowAccountId): Promise<LunchFlowTransaction[]> {
|
|
98
|
+
async getTransactions(accountId: LunchFlowAccountId, includePending: boolean = false): Promise<LunchFlowTransaction[]> {
|
|
99
99
|
return this.retryWithBackoff(async () => {
|
|
100
|
-
const
|
|
100
|
+
const params = includePending ? '?include_pending=true' : '';
|
|
101
|
+
const response = await this.client.get(`/accounts/${accountId}/transactions${params}`);
|
|
101
102
|
|
|
102
103
|
// Handle different possible response structures
|
|
103
104
|
if (Array.isArray(response.data.transactions)) {
|
|
@@ -7,6 +7,19 @@ export class TransactionMapper {
|
|
|
7
7
|
this.accountMappings = accountMappings;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Generate a deterministic synthetic ID for pending transactions without an ID.
|
|
12
|
+
* Uses account, date, amount, and merchant to create a unique identifier.
|
|
13
|
+
*/
|
|
14
|
+
private generateSyntheticId(lfTransaction: LunchFlowTransaction): string {
|
|
15
|
+
const amountCents = Math.round(lfTransaction.amount * 100);
|
|
16
|
+
const merchantSlug = lfTransaction.merchant
|
|
17
|
+
.toLowerCase()
|
|
18
|
+
.replace(/[^a-z0-9]/g, '')
|
|
19
|
+
.substring(0, 20);
|
|
20
|
+
return `lf_pending_${lfTransaction.accountId}_${lfTransaction.date}_${amountCents}_${merchantSlug}`;
|
|
21
|
+
}
|
|
22
|
+
|
|
10
23
|
mapTransaction(lfTransaction: LunchFlowTransaction): ActualBudgetTransaction | null {
|
|
11
24
|
const mapping = this.accountMappings.find(
|
|
12
25
|
m => m.lunchFlowAccountId === lfTransaction.accountId
|
|
@@ -17,6 +30,8 @@ export class TransactionMapper {
|
|
|
17
30
|
return null;
|
|
18
31
|
}
|
|
19
32
|
|
|
33
|
+
const isPending = lfTransaction.isPending === true;
|
|
34
|
+
|
|
20
35
|
return {
|
|
21
36
|
date: lfTransaction.date,
|
|
22
37
|
// Forcing to fixed point integer to avoid floating point precision issues
|
|
@@ -24,9 +39,10 @@ export class TransactionMapper {
|
|
|
24
39
|
payee_name: lfTransaction.merchant,
|
|
25
40
|
imported_payee: lfTransaction.merchant,
|
|
26
41
|
account: mapping.actualBudgetAccountId,
|
|
27
|
-
cleared:
|
|
28
|
-
notes: lfTransaction.description,
|
|
29
|
-
imported_id: `lf_${lfTransaction.id}`,
|
|
42
|
+
cleared: !isPending, // false for pending, true for posted
|
|
43
|
+
notes: isPending ? `[PENDING] ${lfTransaction.description}` : lfTransaction.description,
|
|
44
|
+
imported_id: isPending ? this.generateSyntheticId(lfTransaction) : `lf_${lfTransaction.id}`,
|
|
45
|
+
isPending: isPending, // Track pending status for UI display
|
|
30
46
|
};
|
|
31
47
|
}
|
|
32
48
|
|
package/src/types.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export type LunchFlowAccountId = number;
|
|
2
2
|
export interface LunchFlowTransaction {
|
|
3
|
-
id: string;
|
|
3
|
+
id: string | null; // Can be null for pending transactions
|
|
4
4
|
accountId: LunchFlowAccountId;
|
|
5
5
|
date: string;
|
|
6
6
|
amount: number;
|
|
7
7
|
currency: string;
|
|
8
8
|
merchant: string;
|
|
9
9
|
description: string;
|
|
10
|
+
isPending?: boolean;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
export interface LunchFlowAccount {
|
|
@@ -27,6 +28,7 @@ export interface ActualBudgetTransaction {
|
|
|
27
28
|
imported_id?: string;
|
|
28
29
|
isDuplicate?: boolean;
|
|
29
30
|
duplicateOf?: string; // ID of the existing transaction this duplicates
|
|
31
|
+
isPending?: boolean;
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
export interface ActualBudgetAccount {
|
|
@@ -43,6 +45,7 @@ export interface AccountMapping {
|
|
|
43
45
|
actualBudgetAccountId: string;
|
|
44
46
|
actualBudgetAccountName: string;
|
|
45
47
|
syncStartDate?: string; // Optional sync start date in YYYY-MM-DD format
|
|
48
|
+
includePending?: boolean;
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
export interface Config {
|
package/src/ui.ts
CHANGED
|
@@ -187,6 +187,16 @@ export class TerminalUI {
|
|
|
187
187
|
},
|
|
188
188
|
]);
|
|
189
189
|
|
|
190
|
+
// Ask whether to include pending transactions
|
|
191
|
+
const pendingAnswer = await inquirer.prompt([
|
|
192
|
+
{
|
|
193
|
+
type: 'confirm',
|
|
194
|
+
name: 'includePending',
|
|
195
|
+
message: `Include pending (unposted) transactions for "${lfAccount.name}"?`,
|
|
196
|
+
default: false,
|
|
197
|
+
},
|
|
198
|
+
]);
|
|
199
|
+
|
|
190
200
|
const mapping: AccountMapping = {
|
|
191
201
|
lunchFlowAccountId: lfAccount.id,
|
|
192
202
|
lunchFlowAccountName: lfAccount.name,
|
|
@@ -198,6 +208,10 @@ export class TerminalUI {
|
|
|
198
208
|
mapping.syncStartDate = dateAnswer.syncStartDate.trim();
|
|
199
209
|
}
|
|
200
210
|
|
|
211
|
+
if (pendingAnswer.includePending) {
|
|
212
|
+
mapping.includePending = true;
|
|
213
|
+
}
|
|
214
|
+
|
|
201
215
|
mappings.push(mapping);
|
|
202
216
|
}
|
|
203
217
|
}
|
|
@@ -215,8 +229,8 @@ export class TerminalUI {
|
|
|
215
229
|
}
|
|
216
230
|
|
|
217
231
|
const table = new Table({
|
|
218
|
-
head: ['Lunch Flow Account', '→', 'Actual Budget Account', 'Sync Start
|
|
219
|
-
colWidths: [25, 3, 25,
|
|
232
|
+
head: ['Lunch Flow Account', '→', 'Actual Budget Account', 'Sync Start', 'Pending'],
|
|
233
|
+
colWidths: [25, 3, 25, 12, 10],
|
|
220
234
|
style: {
|
|
221
235
|
head: ['cyan'],
|
|
222
236
|
border: ['gray'],
|
|
@@ -228,7 +242,8 @@ export class TerminalUI {
|
|
|
228
242
|
mapping.lunchFlowAccountName,
|
|
229
243
|
'→',
|
|
230
244
|
mapping.actualBudgetAccountName,
|
|
231
|
-
mapping.syncStartDate || chalk.gray('None')
|
|
245
|
+
mapping.syncStartDate || chalk.gray('None'),
|
|
246
|
+
mapping.includePending ? chalk.green('Yes') : chalk.gray('No')
|
|
232
247
|
]);
|
|
233
248
|
});
|
|
234
249
|
|