Skip to content

[FEATURE]: Local Import/Export Backup System for Invoices #187

Description

@Atharva0506

Feature and its Use Cases

A local backup system in the Settings page that allows users to export their locally cached invoice data to a JSON file and import it back into the app using IndexedDB (idb-backup).

  • How would users benefit from it?
    Since Chainvoice is transitioning to an architecture where sensitive invoice payloads (like client names and items) are no longer stored on-chain (only hashes are stored), users risk losing their invoice details if they clear their browser cache or switch devices. This feature gives users full ownership and control to backup their local data.
  • What scenarios would this feature address?
    • Transferring invoice history to a new browser or device.
    • Safeguarding local data against accidental browser cache clearing.
    • Restoring legacy or demo invoice data for testing purposes.

Additional Context

  • The UI integrates into the existing Settings page, matching the current Chainvoice design language.
  • Includes strict error handling and validation to ensure the uploaded JSON matches the Chainvoice schema before parsing and storing it.
  • Safely integrates with the local cache indexes so that imported invoices immediately populate the Sent and Received tabs.

Code of Conduct

  • I have joined the Discord server and will post updates there
  • I have searched existing issues to avoid duplicates

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions