Skip to main content

max / makenotwork

3.4 KB · 95 lines History Blame Raw
1 # Importing Data
2
3 The CSV import tool creates items, membership tiers, and mailing list subscribers from a CSV file. It does not import files -- upload those separately after importing the metadata.
4
5 A single CSV row can produce:
6
7 - **An item** (if a title is present)
8 - **A subscriber** (if an email is present)
9 - **A transaction record** (if both an email and amount are present, counted for reporting, not inserted as real purchases)
10
11 ## Preparing Your CSV
12
13 The importer accepts any column order; you map columns during setup.
14
15 Available column mappings:
16
17 | Field | What it maps to |
18 |-------|----------------|
19 | `email` | Subscriber email address |
20 | `name` | Subscriber or buyer name |
21 | `amount` | Transaction amount (see format below) |
22 | `date` | Date of transaction or membership start |
23 | `item_title` | Item title to create |
24 | `tier` | Membership tier name |
25 | `status` | Membership status |
26
27 Unmapped columns are ignored, so you can leave extra columns in the CSV without issue.
28
29 ### Amount Format
30
31 - Decimal values are treated as dollars: `12.50` becomes $12.50 (1250 cents)
32 - Whole numbers are treated as cents: `500` means $5.00
33 - Currency symbols (`$`, `EUR`, `GBP`, `JPY`) and commas are stripped automatically
34
35 ### Date Format
36
37 The importer handles multiple date formats:
38
39 - ISO 8601: `2024-01-15` or `2024-01-15T10:30:00Z`
40 - US format: `01/15/2024` or `1/15/2024`
41 - EU format: `15.01.2024` (day > 12 disambiguates automatically)
42 - Unix epoch seconds: `1705312200`
43
44 If a date is missing, the current date is used.
45
46 ### Invalid Rows
47
48 Rows with invalid emails (missing `@` or `.`) are skipped. Other parse errors are logged but don't stop the import. A summary of skipped rows is shown at the end.
49
50 ## Running an Import
51
52 1. Go to your dashboard and open the **Import** tab
53 2. Select the target project
54 3. Upload your CSV (max 10 MB)
55 4. Map your columns to the available fields
56 5. Start the import
57
58 > [!UI] import-column-mapper
59
60 The import runs in the background. The status page shows total rows, rows processed, rows created, and rows skipped.
61
62 ## What the Import Creates
63
64 The pipeline runs in four phases:
65
66 1. **Tiers**: Creates membership tiers from the `tier` column. Duplicates (by name) are skipped.
67 2. **Items**: Creates digital items from the `item_title` column. Tags are attached by slug lookup if present.
68 3. **Subscribers**: Adds email addresses to a mailing list for the project. These are email-only subscribers (they don't need MNW accounts).
69 4. **Transactions**: Recorded in your import report for reference, but not processed as actual charges (imported buyers have no MNW accounts).
70
71 Progress updates every 50 rows.
72
73 ## After Importing
74
75 - **Upload files**: Items are created without files. Go to each item's Files tab to upload the actual content.
76 - **Set prices**: Review and adjust pricing on imported items.
77 - **Review tags**: Check that tag mappings resolved correctly.
78 - **Publish**: Imported items start as drafts. Publish them when ready.
79
80 ## Limits
81
82 - CSV file size: 10 MB maximum
83 - Import history: your 20 most recent jobs are retained
84 - One import per project at a time
85
86 ## Supported Sources
87
88 Currently, the importer supports generic CSV files. Platform-specific importers are on the [roadmap]../about/roadmap.md#importers.
89
90 ## See Also
91
92 - [Content & Items]./02-content.md: Creating items manually
93 - [Data Export]./export.md: Exporting your data
94 - [Migration Guide]./migration.md: Moving to Makenot.work
95