Import Webull trades by exporting a filled-orders CSV from the Webull mobile app, then uploading it in Add Trades > File upload with Webull selected.
For the shared upload flow (account, time zone, and file checks), see How to import your trades.
Export your trades from Webull
Download a History export from the Webull mobile app with Order Status set to All, then use the CSV Webull emails you.
- Open the Webull mobile app.
- Go to Account > History.
- Open Filter and set the date range you want to import.
- Set Order Status to All.
- Tap the download icon, then Submit.
- Open the CSV Webull emails you, then upload that file in Rize Trade.
Tip: Rize Trade only keeps rows with Status Filled when a Status column is present. Exporting with Order Status All is fine, because unfilled rows are skipped automatically. If every row is canceled or rejected, the import finds no valid trades even though the file opened correctly.
Upload the file in Rize Trade
For the general upload flow, see How to import your trades. Webull-specific settings:
- Set broker to Webull.
- Set Time zone to match the timestamps in your Webull file. Required.
- Accepted file types: CSV or TXT. Max 50 MB, up to 200,000 rows. If the file is larger, see "File too large": how to break up your import file.
After upload, open Import History under Settings > Import History to confirm status, trade count, and duplicates. If the job stays queued, fails, or shows an error screen, see Import queued or something went wrong.
Tip: If dates look shifted after a successful import, fix the time zone and re-upload. See Why are my entries and exits on the wrong dates?.
Columns Rize Trade expects
Your Webull export should include fill time, symbol, side, filled quantity, and average price. Header names are matched flexibly.
Guide columns from a standard Webull History export:
- Filled Time
- Symbol
- Side
- Filled
- Avg Price
These header names are also accepted:
| Field | Accepted headers |
| --- | --- |
| Symbol | Symbol, Ticker, or Name |
| Side | Side, Action, or a buy/sell header |
| Price | Avg Price, Price, Fill Price, Avg_Price |
| Quantity | Total Qty, Qty, Filled Qty, Quantity, Filled |
| Time | Filled Time, Fill Time, Date, Time, Trade Date, or a date/time header |
| Status (optional) | Status |
Rize Trade also accepts a headerless tab-separated futures export layout from Webull when the usual headers are missing, and the Trade Record export from a Webull account statement (with Trade Date, Time, Buy/Sell and Trade Price columns).
How sides and times are read
Webull writes Buy, Sell and Short, and Rize Trade only accepts those side values. Any other value is skipped rather than guessed.
- Side:
Buy,BorBuy to Covermap to BUY.Sell,S,ShortorSell Shortmap to SELL. Case does not matter. Any other value (for exampleBOT) is not a Webull side, and the row is skipped. - Time: When a time ends with a zone label Rize Trade knows (such as EDT, EST, CDT, CST, PDT, PST, UTC or GMT), it is read as that exact time and your Time zone setting does not shift it again. Other trailing labels are removed before the time is read. Rows without a time of day are skipped.
If the import fails
Webull-specific rejections are below. For generic errors (file too large, wrong file type, empty file, missing account or time zone), see Fix any import problem.
File is empty or invalid
Symptom: You see File is empty or invalid.
Cause: The file has no usable content, or it does not look like a Webull export with a header and data rows.
Fix: Re-export from Webull Account > History with a date range that includes filled orders, download the CSV from email, and upload that file.
Missing required columns for Webull
Symptom: You see Missing required columns for Webull, with the missing fields listed and a note about exporting from Webull History and Orders.
Cause: The file is missing required fill fields (symbol, side, price, quantity, and time), or it is not a standard Webull History export.
Fix: Export again from Webull History with Order Status All, and confirm the file includes columns like Filled Time, Symbol, Side, Filled, and Avg Price. If you exported from APEX Clearing instead of Webull History, choose Custom CSV as the broker and format the file for that import.
This is a moomoo export
Symptom: You see This is a moomoo export, not Webull. Select moomoo as the broker and upload it again.
Cause: The file is a moomoo order history, which looks similar to a Webull export.
Fix: Select Moomoo as the broker and upload the file again.
No valid trades found
Symptom: You see No valid trades found. Make sure you're exporting filled orders from Webull. The message may list expected columns and note that only rows with Status Filled are imported.
Cause: The file opened, but no rows passed the filled-order and field checks. For example, no row is Filled, the side is not Buy, Sell or Short, or quantity, price, or time is missing or invalid.
Fix: Export filled orders from Webull History again. Keep the Status column if present, and make sure at least one row is Filled with symbol, side, quantity, price, and time populated.
Failed to read Webull file
Symptom: You see a message that starts with Failed to parse Webull file: followed by more detail.
Cause: The file could not be read as a Webull export.
Fix: Do not edit the CSV in a way that breaks columns or encoding. Download a fresh export from Webull, upload the original file, and confirm you selected Webull (not another broker) on the import screen.
