Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internalize tax forms API #7300

Closed
12 tasks done
Tracked by #7216
Betree opened this issue Feb 26, 2024 · 1 comment · Fixed by opencollective/opencollective-api#10071
Closed
12 tasks done
Tracked by #7216

Internalize tax forms API #7300

Betree opened this issue Feb 26, 2024 · 1 comment · Fixed by opencollective/opencollective-api#10071
Assignees
Labels
api Issues that require some work on the API (https://github.com/opencollective/opencollective-api) complexity → medium feature
Projects

Comments

@Betree
Copy link
Member

Betree commented Feb 26, 2024

Constraints

  • We'll need to make sure both systems can co-exist, at least until all requested Dropbox Forms have been completed and we have Import Dropbox Forms data into Open Collective #7299.
  • We want a feature flag to make sure we can release early and enable progressively.

Specs

  • On the LegalDocuments table:
    • Add a service column to easily differentiate (opencollective|dropbox-forms)
  • Add a submitLegalDocument mutation:
    • Parameters:
      • account
      • documentType
      • values
    • Throw if a legal document is already RECEIVED
    • Throw if not an account admin
    • Call the PDF service with the values to generate the PDF
    • Uploads the PDF to the dedicated S3 bucket
    • Encrypt & insert the values in the LegalDocuments table
  • Add a legalDocuments field on Account that accepts a "requestStatus" parameter:
    • REQUESTED - to know if the account needs to complete a tax form
    • RECEIVED - to get the list of all submitted docs
  • Rename HELLO_WORKS_AWS_S3_BUCKET to TAX_FORMS_AWS_S3_BUCKET
  • Rename helloworks.documentEncryptionKey
@Betree
Copy link
Member Author

Betree commented Feb 27, 2024

Note: We may want to store part of the data unencrypted so that it can be filtered and displayed easily. Obviously, this should only happen with non-sensitive fields.

The best would be to look at the projected design for tax forms in the Host Dashboard. We can expect things like (list to be updated):

  • submitterType (individual|business)
  • formType (W9|W8|W8-BEN)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Issues that require some work on the API (https://github.com/opencollective/opencollective-api) complexity → medium feature
Projects
Development

Successfully merging a pull request may close this issue.

1 participant