You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: contributingGuides/FORMS.md
-27Lines changed: 0 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -385,33 +385,6 @@ import KEYBOARD_SUBMIT_BEHAVIOR from './keyboardSubmitBehavior';
385
385
> [!NOTE]
386
386
> Only override `keyboardSubmitBehavior` on screens where `onSubmit` triggers navigation. For forms that stay on-screen after submission, keep the default (`'dismiss-then-submit'`) to avoid layout jumps.
387
387
388
-
### Reacting to form value changes (`FormValueWatcher`)
389
-
390
-
Sometimes a parent screen needs to react when a form value changes from outside the form — for example when an RHP picker writes to the Onyx draft via `setDraftValues` and the parent has to re-sync `FormProvider`'s internal state (clear `touched` flags, wipe local errors via `resetForm`, etc.).
391
-
392
-
Instead of adding a `useEffect` inside the parent (which can't see `FormProvider`'s `inputValues` directly), use the `FormValueWatcher` primitive together with `FormProvider`'s children render prop. It's a render-null component that fires `onValuesChange(current, previous)` whenever the `values` reference changes, and short-circuits when the reference is identical (no spurious fires).
Use it only when you genuinely need a cross-component reaction; for in-form logic, prefer `onValueChange` / `onInputChange` on the specific input.
414
-
415
388
### Safe Area Padding
416
389
417
390
Any `FormProvider.tsx` that has a button at the bottom. If the `<FormProvider>` is inside a `<ScreenWrapper>`, the bottom safe area inset is handled automatically (`includeSafeAreaPaddingBottom` needs to be set to `true`, but its the default).
Copy file name to clipboardExpand all lines: contributingGuides/HOW_TO_BECOME_A_BACKEND_CONTRIBUTOR.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
**Overview**
2
2
3
-
We are hiring an exceptionally strong Backend Engineer with deep expertise in C++ and PHP to join a small, senior, fully-remote engineering team. This is a high-trust, high-ownership environment with minimal process, no standups, and no sprint ceremonies.
3
+
We are hiring an exceptionally strong Backend Engineer with deep expertise in C++ and PHP to join a small, senior, fully-remote engineering team. This is a high-trust, high-ownership environment with minimal process, no stand-ups, and no sprint ceremonies.
4
4
5
5
This role is intentionally designed for engineers who thrive with autonomy, clear ownership, and written communication. You will be highly visible, highly trusted, and expected to operate independently from day one.
6
6
@@ -19,7 +19,7 @@ As part of our high-vetting process, all shortlisted candidates will complete a
19
19
20
20
- Expert-level proficiency in both C++ and PHP
21
21
- Clear commitment to C++ and PHP as long-term backend technologies (not stepping stones)
22
-
- Demonstrated problem-solving ability, validated through a paid C++ and PHP technical challenge
22
+
- Demonstrated problem-solving ability, validated through a C++ and PHP technical challenge
23
23
- Strong backend systems thinking (performance, reliability, maintainability)
24
24
- SQL experience is a plus, but not required
25
25
@@ -32,13 +32,15 @@ As part of our high-vetting process, all shortlisted candidates will complete a
32
32
33
33
**Work Style & Autonomy**
34
34
35
-
- Thrives without traditional management, standups, or sprint structures
35
+
- Thrives without traditional management, stand-ups, or sprint structures
36
36
- Strong self-management, ownership mentality, and bias toward action
37
37
- Able to operate effectively in a flat, non-hierarchical organization
38
38
- Comfortable making decisions independently and being accountable for outcomes
39
39
40
-
**Time Zone & Availability**
40
+
**Hours, Time Zone & Availability**
41
41
42
+
- Expected Hours: ~40 hours/week
43
+
- Time off: Unpaid and flexible
42
44
- Must have at least 6 hours of daily overlap with: US Pacific Time (PT) or Central European Time (CET)
43
45
- Time zone overlap is especially critical during the first 3 months for onboarding and alignment
Copy file name to clipboardExpand all lines: docs/articles/new-expensify/reports-and-expenses/Create-and-Submit-Reports.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Create-and-Submit-Reports.md
3
3
description: Learn how to use New Expensify’s report-first flow to create, edit, submit, and retract expense reports.
4
-
keywords: [New Expensify, create report, submit report, retract report, add expenses, fix report, admin create report, create report on behalf, move expenses to new report]
4
+
keywords: [New Expensify, create report, submit report, retract report, add expenses, fix report, admin create report, create report on behalf, move expenses to new report, pending card transactions, unable to submit report]
5
5
internalScope: Audience is members and Workspace Admins. Covers creating, submitting, editing, and retracting expense reports, including admin-created reports. Does not cover approvals, reimbursements, or exports.
6
6
---
7
7
@@ -179,6 +179,10 @@ Unsubmitted reports will remain in your Open reports section. You can go back an
179
179
180
180
The **Submit** button only appears once your report includes at least one valid expense. If the report has already been submitted, the button will no longer be visible. If your workspace has no approval workflow, the button will say **Mark as done** instead of **Submit**.
181
181
182
+
## Why can’t I submit a report with pending Expensify Card transactions?
183
+
184
+
If all transactions on your report are pending Expensify Card transactions, you'll see the **Submit** button but clicking it will display an **Unable to submit report** error. Pending transactions may take a few days to post. After at least one transaction has posted, you can submit the report.
185
+
182
186
## Can I remove an expense after submitting?
183
187
184
188
Yes. You’ll need to retract the report using More > Retract, depending on the report's state. Then you can remove or edit expenses before resubmitting.
0 commit comments